青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

Impossible is nothing  
  愛過知情重醉過知酒濃   花開花謝終是空   緣份不停留像春風來又走   女人如花花似夢
公告
日歷
<2025年11月>
2627282930311
2345678
9101112131415
16171819202122
23242526272829
30123456
統計
  • 隨筆 - 8
  • 文章 - 91
  • 評論 - 16
  • 引用 - 0

導航

常用鏈接

留言簿(4)

隨筆分類(4)

隨筆檔案(8)

文章分類(77)

文章檔案(91)

相冊

搜索

  •  

最新評論

閱讀排行榜

評論排行榜

 
C++語法概括

1.              I/O流的常用控制符
              dec                         置基數為10
              hex                         置基數為16
              oct                         置基數為8
              setfill(c)                  設填充字符為C
              setprecision(n)             設顯示小數精度為n位
              setw(n)                     設域寬為N個字符
              setiosflags(ios::fixed)     固定的符點顯示
              setiosflags(ios::scientific)指數表示
              setiosflags(ios::left)      左對齊
              setiosflags(ios::right)     右對齊
              setiosflags(ios::skipws)    忽略前導空白
              setiosflags(ios::uppercase) 16進制數大寫輸出
              setiosflags(ios::lowercase) 6進制數小寫輸出  
              setiosflags(ios::showpoint) 顯示小數點
              setiosflags(ios::showpos)   正數前面加上正號
2.頭文件:*iostream.h*    *iomanip.h*   *stdlib.h*
           cout/cin   流的控制符  exit(0)      
3.指針的幾種類型:
  int (*p)();p為指向函數的指針變量,該函數帶回一個整形值
  int *p();p為帶回一個指針的函數,該指針指向整形數據
  int (**)[n]p為一個指向一個指針變量的指針變量,被指向的指針變量指向一個含n個整形數據的一維數組
4.構造函數和析構函數特點及其區別:
   a.構造函數可以有任意個形參,還可以重載(多個參數個數不同的函數);但析構函數不能有形參,因為是系統自動調用的.
   b.構造函數不可以任意調用,只準系統調用;而析構函數不僅系統調用,也可以任意調用.                               
5.構造函數和析構函數什么時候自動運行?(例61)
          構造函數:一般在定義類對象時自動運行.
          析構函數:如果一個函數中定義了一個對象,則在這個函數運行結束時就執行一次;
                   當一個對象是使用NEW運算符被動態創建的,在使用DELETE運算符釋放它時,DELETE將會自動調用析構函數.
          拷貝初始化構造函數:當用tpoint N(M);語句時調用一次;
                         當對象作為實參向形參傳遞時,即對形參初始化時執行一次;
                         當遇到M=return(N);語句,即對M進行初始化時調用一次;

6.this 指針用法:例63中,當程序執行語句list elem(i);時,系統對this指針進行了如下的缺省賦值:this=&list;
                賦值成員函數舉例(此例在例63基礎上):
                      void Assign(linear_list&);//說明語句;
                      void linear_list::Assign(linear_list&p)
                       {if(&p==this)
                           return;
                        nmax=p.nmax;
                        nelem=p.nelem;
                        list=new int[nmax];
                        for(int i=0;i<nmax;i++)
                           list[i]=p.list[i];
                       }  
7.const,volatile對象和const,volatile成員函數
  格式:const person per/volatile person per;                       
       int func(int) const;/char func(int) volatile;
  說明:1.普通對象既可以訪問const對象,又可以訪問volatile對象;
       2.const對象只能訪問用const修飾的成員函數;
         volatile對象只能訪問用其所長volatile修飾的成員函數;
       3.也可以同時說明為const volatile對象或const volatile成員函數;
         const volatile對象只能訪問const volatile成員函數;
         const/volatile對象也能訪問const volatile成員函數;
8.不同繼承方式的基類和派生類特性
  ------------------------------------------------
   繼承方式      |   基類特性        |  派生類特性
  ------------------------------------------------
                 |   public          |  public
   公有繼承      |   protected       |  protected
                 |   private         |  不可訪問
  ------------------------------------------------
                 |   public          |  private
   私有繼承      |   protected       |  private
                 |   private         |  不可訪問  
  ------------------------------------------------
                 |   public          |  protected
   保護繼承      |   protected       |  protected
                 |   private         |  不可訪問
  ------------------------------------------------
  A:幫助理解:1)對于公有繼承方式:
               a.基類成員對其對象的可見性:公有成員可見,其他不可見。這里保護成員同于私有成員。
               b.基類成員對派生類的可見性:公有成員和保護成員可見,而私有成員不可見。這里保護成員同于公有成員。
               c.基類成員對派生類對象的可見性:公有成員可見,其他成員不可見。
            所以,在公有繼承時,派生類的對象可以訪問基類中的公有成員;派生類的成員函數可以訪問基類中的公有成員和保護成員。這里,一定要區分清楚派生類的對象和派生類中的成員函數對基類的訪問是不同的。
            2) 對于私有繼承方式:
               a.基類成員對其對象的可見性: 公有成員可見,其他不可見。
               b.基類成員對派生類的可見性:公有成員和保護成員可見,而私有成員不可見      
               c.基類成員對派生類對象的可見性:所有成員都是不可見的。
            所以,在私有繼承時,基類的成員只能由直接派生類訪問,而無法再往下繼承。
            3) 對于保護繼承方式:
               與私有繼承方式相同,兩者的區別僅在于對派生類的成員而言,對基類成員有不同的可見性。
 B:幫助理解:1) 公有繼承時,水平訪問和垂直訪問對基類中的公有成員不受限制。
             2) 私有繼承時,水平訪問和垂直訪問對基類中的公有成員也不能訪問。
             3) 保護繼承時,對于垂直訪問同于公有繼承,對于水平訪問同于私有繼承。
             4) 對于基類中的私有成員,只能被基類中的成員函數和友元函數訪問,不能被其他的函數訪問。
 C:幫助理解:在公有繼承時,派生類的成員函數可訪問基類中的公有成員和保護成員;派生類的對象僅可訪問基類中的公有成員。
9.派生類的構造函數和析構函數:
     派構:
         1.一般格式: 派生類名  (派生類構造函數總參數表):基類構造函數(參數表1),子對象名(參數表2)
                          {派生類中數據成員初始化};
         2.調用順序: a.基類的構造函數。b.子對象類的構造函數(如果有的話). c.派生類構造函數。                         
10.多繼承:是指派生類具有多個基類。
   多繼承的構造函數:
                   《派生類名》(總參數表):《基類名1》(參數表1),《基類名2》(參數表2),...
                       {派生類構造函數體}  
11.虛基類:如果基類被聲明為虛基類,則重復繼承的基類在派生磁對象實例中只好存儲一個副本,否則,將出現多個基類成員副本。
   虛基類說明格式如下:  virtual<繼承方式><基類名>
                         class B:virtual public A
  注意:a.如果一個派生類有直接或間接的虛基類,那么派生類的構造函數的成員初始列表中必須列出對虛基類的調用,如果未被列出,則表示使用該基類的缺省構造函數來初始化派生類對象中的虛基類子對象。
        b.虛基類的構造函數先于非虛基類的構造函數調用。
        c.只有建立對象的那么個派生類的構造函數調用虛基類的構造函數,而該派生類的基類中所列出的對這個虛基類的構造函數的調用在執行中被忽略。   
12.運算符重載:
      operator 函數用法:(不能有下列字符:'::','.','*','->','? :')
          1.一般:int class_name::operator <運算符> (形參列表)   (例92)
          2.增量減量運算符:   (例93,94,95,96)
               a.將一個增量運算符重載為前置的成員函數:
                           int class_name::operator++();
               b.將一個增量運算符重載為后置的成員函數:
                           int class name::operator++(int);
               c.將一個增量運算符重載為前置的友元函數:
                           int operator ++(class_name&);         
               d.將一個增量運算符重載為前置的友元函數:
                           int operator ++(class_name&,int);     
               e.下標運算符:
                           int class_name::operator[](形參)  //只能是非靜態成員函數                          
               f.函數調用運算符: 
                           int class_name::operator()(形參表)//只能是非靜態函數,且不可以帶有缺省的參數
               g.成員選擇運算符:
                           class_name $/* class_name::operator->();
               h.new delete運算符:
                           void *class_name::operator new(siz_t,<arg_list>);
                           void *class_name::operator delete(void *,<size_t>);
                   new delete只能被重載為類的成員函數,不能是友元。而且無論是否使用關鍵字static
                   進行修飾,重載了的new和delete均為類的表態成員函數。
                       對于typedef unsigned size_t;
                   在頭文件alloc.h,mem.h,stddef.h,stdio.h,stdlib.h均說明;
               i.友元函數:
                       可以是一個類的非靜態函數,也可以是類的友元函數。
                      {friend complex operator+(complex&,complex&);
                      }; 
                 以下五種運算符不說明成友元運算符:
                      "=","()","[]","->","type"; 
               j.轉換函數:
                         class_name::operator type();  //type 是任何一個合法的C++的類型名(包括基本數據類型和導出數據類型)以及由關鍵字const和volatile引出的表達示。)
                                                       //不帶任何參數,也無返回值類型,總是返回type的值。只能是類的成員函數,不能說明為友元運算符。
               k.類的賦值運算與運算符重載:
                         person & person::operator=(person &p)
                           {dele Name;
                            Name=new char[strlen(p.Name)+1];
                            strcpy(Name,p.Name);
                            Age=p.Age;
                            Sex=p.Sex;
                            return *this;
                           }
                        典型例題。當用系統自帶對象賦值的函數,如果對象里有如 *Name 型的,則賦值后會使兩個指針同時指向一個成員元素的地址,當調用析構函數釋放時,會釋放兩次,多釋放一次,而產生錯誤,這個典型例題是用于把一個成員元素復制到另一個對象中,不是單純移動指針,當調用析構函數時,會釋放兩次。
               l.重載函數:系統僅對形參加以區別。
13.虛函數
     一般情況下,指向一個對象的指針,不允許指向另一個對象,但指向基類對象的指針可以指向它的派生類,并可以訪問派生類中原基類成員。
     如果一個函數一旦說明為虛函數,則無論說明它的類被繼承了多少層,在每一層中該函數都保持該virturl特性。且可以在派生類中對該函數省略virtual.
     虛函數必須是類的一個成員函數,不能是友元,但它可以是另一個類的友元。虛函數不能是一個靜態成員。
     設定綁定方式,使程序具有靈活性,但執行效率低,占用內存多.    
14.抽象類:純虛函數
      純虛函數的一般形式為:virturl 類型名(參數表)=0;抽象類不能申請對象。
15.類屬結構:
       1.函數模板:template <class 模板形參表>                
                返回值類型 函數名(模板函數形參表)
                  {
                   函數體;
                  }
             example:
                 template  <class T>
                 void swap(T &.x,T&.y)
                  {T t;
                   t=x;x=y;y=t;
                  }
       2.重載函數模板:調用用次序:
            1)尋找一個完全匹配的函數,找到,調用之。
            2)尋找一個函數模板,將其實例化產生一個匹配的模板函數,找到,調用之。
            3)尋找重載函數中有無通過類型轉換后產生參數匹配的函數,若有,調用之。
       3.類模板:template <class 模板形參>
                 class 類模板名
                 {
                  類體;
                 }
             example:  tempplate <class T>
                       class stack
                       {private:
                          T *date; 
                          int top;
                        public:
                          isempty();
                       }
                       template <class T>
                       {...}  
16.類模板的友元:
          a.一般的類模板友元函數。
          b.封閉型的類模板友元函數。當用類型參數將類模板實例化為某個具體的模板類時,該類模板所包含的友元函數也將隨之實例化。
          c.開放型的類模板友元函數。
       例一百二十一。
17.C++的I/O流庫
    1.  I/O標準流類  
        -----------------------------------------
        c++名字  |  設備  | C中的名字 | 默認的含義
        -----------------------------------------
        cin      |  鍵盤  | stdin     | 標準輸入
        -----------------------------------------
        cout     |  屏幕  | stdout    | 標準輸出
        -----------------------------------------
        cerr     |  屏幕  | stderr    | 標準錯誤
        -----------------------------------------
        clog     | 打印機 | stdprn    |  打印機
        -----------------------------------------
     2。鍵盤輸入
        cin>>a>>b>>c;  //Ctrl+z終止
        cin.get(char &ch)//從輸入流獲取一個字符,不忽略空格Ctrl+z終止
        cout.put(ch)//輸出一個字符       
    EOF//其值為-1,相當于終止符 
        cin.geline(char *buf,int limit,Deline='\n')//buf為一個指針或數組,limit為字符個數,Deline為讀取字符指定結束符。作用:從鍵盤讀入一串字符。結束用Ctrl+z.
    cin.gcount()//返回getline()剛剛讀過的字符個數 
        cin.read(char *buf,int size)//讀入指定數目的字符
    cout.write(const char *str,int n)//cout.write("string",strlen("string");則輸出全部字符。
    cin.peek()//返回輸入流的下一個字符,但是不提取它。
    long(a)//a可以是指針地址,作用,強制轉換為十進制數。
    (void*)//ex:char str="abcde";cout<<str;將str為首地址字符串的首地址輸出。   
18.輸入符,提取符重載:<<  >>
     例154 155例題                             
19.磁盤文件的輸入。頭文件#include"fstream.h"  //例題從156開始
    1.打開文件:
         a.   fstream outfile;
              outfile.open("f1.txt",ios::out);//其中fstream為系統對文件專用操作類
         b.   ofstream ostream("f1.txt");
              ofstream ostrm;  ostrm.open("f1.txt");//表示打開某個寫文件
         c.   ifstream istrm("f2.txt");
              ifstream istrm;  istrm.open("f2.txt");//表示打開某個讀文件
      -----------------------------------------------------------------------
                  方式名              |            用途
      ----------------------------------------------------------------------
                   in                 |         以輸入方式打開文件
      -----------------------------------------------------------------------
                   out                |         以輸出方式打開文件
      -----------------------------------------------------------------------  
            app                |         以輸出追加方式打開文件
      -----------------------------------------------------------------------
                  ate                |         文件打開時,文件指針位于文件尾
      -----------------------------------------------------------------------
                   trunc              |  如果文件存在,將其長度截斷為零,并清除所有內容,如果文件不存在,則創建新文件
      -----------------------------------------------------------------------
                   binarg             |   以二進制方式打開文件,缺省時為文本方式
      -----------------------------------------------------------------------
                   nocreate           |打開一個已有文件,如該文件不存在,則打開失敗
      -----------------------------------------------------------------------
                   noreplace          |如果文件存在,除非設置 ios::ate或ios::app,否則打開失敗
      -----------------------------------------------------------------------
                   ios::in |ios::out  |以讀和寫的方式打開文件
      -----------------------------------------------------------------------
                 ios::out|ios::binary |以二進制方式打開文件
      -----------------------------------------------------------------------
                 ios::in|ios::binary  |以二進制方式打開文件
      -----------------------------------------------------------------------
    2. 關閉文件:
              fstream outfile;
              outfile.close();  
    3. 打開文件失敗退出程序:用函數abort();退出,在頭文件<stdlib.h"
    4.判斷文件結束函數.example:  infile.eof()
    5.getline(char*,sizeof(s));//讀取一串字符
      get()/put()//對文件字符操作,例如outfile.get  
    6.隨機訪問數據文件:
        1)讀指針
          istream &istream::seekg(流中位置)//
          istream &istream::seekg(偏移量,參照位置)//參照位置分為:cur=1/beg=0/end=2  input.seekg(-100,ios::cur);
          streampos istream::tellg();//其中streampos定義為long型,它返回一個long型且值為當前指針離文件開頭的位置(字節數)
        2)寫指針
          ostream &ostream::seekp(流中的位置)
          ostream &ostream::seekp(偏移量,參照位置)//參照位置同上
          streampos ostream::tellp();
     注意:讀函數中有get(),寫函數中有put(),操作讀指針用seekg(),而寫指針用seekp();write()和read()中的第一個參數必須為(char *),如果不是,一定要強制轉換
    7.  while(!cin);//表示輸入流有錯。
        cin.clear();//原型 void ios::clear(int=0);其用途是將錯誤狀態的標志字中錯誤標志位清除,重新判斷輸入。
        cin.ignor(80,ch);//如果ch='\n',一般表示忽略一行,重新到下一行去輸入
        istream &istream::ignore(int n=1,int t=EOF);//跳過輸入流中指定數量的字符的函數,t為終止符,一般EOF相當于<ctrl+z>操作
        istream &istream::pubback(char ch)//退回一個字符到輸入流的函數,其中ch是指出要退回輸入流的字符。
20. 格式化輸入和輸出:        例題從 167開始
     A.設置流的格式化標志
        1).控制格式的標志位
         ------------------------------------------------------------------------------
           標志位 |   值   |                            含義               |輸入/輸出
         ------------------------------------------------------------------------------
          skipws  | 0x0001 |                 跳過輸入中的空白符                 |    i
         ------------------------------------------------------------------------------
           left   | 0x0002 |                 輸出數據左對齊                     |    o
         ------------------------------------------------------------------------------
          rignt   | 0x0004 |                 輸出數據右對齊                     |    o
         ------------------------------------------------------------------------------
         internal | 0x0008 |   數據的符號左對齊,數據本身右對齊,之間為填充符   |    o
         ------------------------------------------------------------------------------
           dec    | 0x0010 |              轉換基數為十進制形式                  |   i/o
         ------------------------------------------------------------------------------
           oct    | 0x0020 |              轉換基數為八進制形式                  |   i/o
         ------------------------------------------------------------------------------
           hex    | 0x0040 |             轉換基數為十六進制形式                 |   i/o
         ------------------------------------------------------------------------------
         showbase | 0x0080 |                輸出數據前有0/0x                    |    o
         ------------------------------------------------------------------------------
        showpoint | 0x0100 |              浮點數輸出帶有小數點                  |    o
         ------------------------------------------------------------------------------
        uppercase | 0x0200 |           用大寫字母輸出十六進制數值               |    o
         ------------------------------------------------------------------------------
         showpos  | 0x0400 |               正數前面有“+”號                    |    o
         ------------------------------------------------------------------------------
        scientfic | 0x0800 |            浮點數輸出采用科學表示法                |    o
         ------------------------------------------------------------------------------
          fixed   | 0x1000 |            使用定點數形式表示浮點數                |    o
         ------------------------------------------------------------------------------
         unitbuf  | 0x2000 |        完成輸入操作后立即刷新流的緩沖區            |    o
         ------------------------------------------------------------------------------
          stdio   | 0x4000 |         完成輸入操作后刷新系統的stdout             |    o
         ------------------------------------------------------------------------------    
       2).使用成員函數設置標志字:
           1.long flags()       //該函數用來返回標志字
           2.long flags(long)   //該函數使用參數更新標志字,返回更新前的標志字
           3.long setf(long setbits,long field)//將field所指定的標志清零,將setbits為1的位置1,返回以前的標志字
           4.long setf(long)  //設置參數所指定的那些標志的位,返回更新前的標志字
           5.long unsetf(long)//該函數用來清除參數所指定的那些標志位的位,返回更新前的標志字
        在ios類中,定義了下面的表態類對象;
           static const long  basefield; //其值為dec/oct/hex
           static const long adjustfield //其值為left/right/internal
           static const long  floatfield //其值為scientific/fixed
        example:  cin.setf(ios::dec,ios::basefield      
    B.格式輸出函數:
       1).設置輸出數據所占寬度的函數
           1.int width()//該函數返回當前輸出數據的寬度
           2.int width(int)//刻函數用來設置當前輸出數據的寬度為參數值,并返回更新前的寬度值
       2).填充當前寬度內的填充字符函數
           1.char fill()//該函數用來返回當前所使用的填充字符
           2.char fill(char)//該函數用來設置填充字符為參數值所表示的字符,并返回更新前的填充字符
       3).設置浮點數輸出精度函數
           1.int precision()//該函數返回當前浮點數的有效數字的個數
           2.int precision(int)//該函數設置浮點數輸出時的有效數字個數,并返回更新前的值。
      注意:float型實數最多提供7位有效數字,double型褸最多提供15位有效數字,long。。。提供19位有效數字
   C.操作子:為了簡化操作,提供了一系列操作子,操作子實際上是對象
       --------------------------------------------------------------------
        dec         |      數值數據采用十進制表示               |    i/o
       --------------------------------------------------------------------
        hex         |      數值數據采用十六進制表示             |    i/o
       --------------------------------------------------------------------
        oct         |      數值數據采用八進制表示               |    i/o
       --------------------------------------------------------------------
        setbase(int)|  設置數據轉換基數為n(n為0,8,10,16),其中0表示缺省基數  |  i/o
       --------------------------------------------------------------------
        ws          |   提取空白符                              |     i
       --------------------------------------------------------------------
        ends        |   插入空白符                              |     o
       --------------------------------------------------------------------
        flush       |  刷新與流相關聯的緩沖區                   |     o
       --------------------------------------------------------------------
        resetiosflags(long)  |     清除參數所指定的標志位       |    i/o
       --------------------------------------------------------------------
        setiosflags(long)    |     設置參數所指定的標志位       |    i/o
       --------------------------------------------------------------------
        setfill(int)         |     設置填充字符                 |     o
       --------------------------------------------------------------------
        setsprecision(int)   |     設置浮點數輸出的有效數字個數 |     o
       --------------------------------------------------------------------
        setw(int)            |     設置輸出數據項的域寬         |     o
       --------------------------------------------------------------------
21. 字符串流:例170開始
      c++提供了兩個類:頭文件#include"strstrea.h"
         1.ostrstream:其是從ostream派生來的,將不同類型轉換為字符串,并存放到數組中.
             ostrstream::ostrstream();//缺省構造函數,它用來建立存儲所插入的數據的數組對象;
             ostrstream::ostrstream(char *s,int n,int mode=ios::out);//此構造函數中S是字符指針或字符數組,N是用來指定這個數組最多能存放的字符個數.mode參數給出流式的方式,缺省為out方式,還可選用ate和app方式.
           ostrstream類還提供了如下的成員函數:
             int ostrstream::pcount();//返回流中已插入的字符個數;
             char *ostrstream::str(); //返回標志字符串的數組的指針值;
         2.istrstream:其是從istream派生來的,將文本項轉換為變量所需要的內部格式.     
             istrstream::istrstream(char *s);//構造函數中S是一個字符指針或字符數組,使用該串來初始化要創建的流對象
             istrstream::istrstream(char *s,int n);//此構造函數是使用串中前N個字符來構造串對象
22.異常處理
      try{   }
      throw 變量
      catch(形式參數變量){   } //其中形數參數變量只能是一個,且類型不能像函數傳遞形參那樣進行自動轉換,必須完全批配
   注意:1.當找不到指導配項時,就用黑認批配項abort()一終止程序               
         2.異常處理的數據類型是公有基類,拋擲異常的數據類型是派生類
         3.異常處理的數據類型是指向公有基類的指針,拋擲異常的數據類型是指向派生類的指針
            catch(基類)總能夠捕獲throw(派生類對象),所以catch(基類)塊總是放在catch(派生類)塊的后面,以避免catch(派生類)永遠不能捕獲異常                

posted on 2006-02-24 13:21 笑笑生 閱讀(783) 評論(0)  編輯 收藏 引用 所屬分類: C++語言
 
Copyright © 笑笑生 Powered by: 博客園 模板提供:滬江博客
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            夜夜爽夜夜爽精品视频| 亚洲电影一级黄| 欧美手机在线视频| 最新日韩中文字幕| 亚洲精华国产欧美| 欧美高清视频| 亚洲国产精品v| 亚洲精品欧洲| 欧美二区视频| 91久久精品日日躁夜夜躁欧美| 亚洲第一成人在线| 性做久久久久久| 久久久999精品免费| 韩国三级在线一区| 久久不见久久见免费视频1| 久久黄色网页| 在线成人免费观看| 女同性一区二区三区人了人一| 欧美黄污视频| 在线视频你懂得一区| 国产精品h在线观看| 亚洲男女自偷自拍图片另类| 久久av二区| 亚洲国产精品一区二区第四页av | 欧美伦理视频网站| 亚洲理论在线| 午夜精品福利一区二区三区av| 国产精品一区二区久久久| 欧美怡红院视频一区二区三区| 免费看黄裸体一级大秀欧美| 日韩午夜黄色| 国产精品私人影院| 久久五月天婷婷| 老司机精品福利视频| 亚洲欧洲日本国产| 欧美精品麻豆| 亚洲尤物影院| 亚洲福利久久| 午夜精品一区二区三区在线视| 狠狠久久亚洲欧美专区| 欧美黑人国产人伦爽爽爽| 在线一区亚洲| 免费在线观看一区二区| 亚洲午夜精品久久| 国产综合色产在线精品| 欧美精品七区| 欧美一级二区| 亚洲精品国产精品久久清纯直播| 午夜精品视频一区| 亚洲激情国产| 国产视频观看一区| 欧美成人午夜影院| 香蕉久久夜色精品| 亚洲精品久久久久久久久久久 | 日韩视频一区二区| 久久久久久国产精品mv| 中文亚洲视频在线| 国产一区观看| 欧美三级第一页| 久热精品视频在线| 午夜视频在线观看一区| 亚洲第一中文字幕在线观看| 久久成人精品视频| 在线视频日韩| 91久久综合| 黄色亚洲免费| 国产区日韩欧美| 国产精品草草| 欧美理论片在线观看| 美乳少妇欧美精品| 久久精品日韩| 欧美在线一二三区| 亚洲免费综合| 亚洲一区中文| 亚洲精品一区在线| 欧美国产大片| 亚洲深夜福利| 久久久久久综合| 先锋影音网一区二区| 亚洲一区二区三区乱码aⅴ蜜桃女| 亚洲国产日韩精品| 伊人精品久久久久7777| 欧美日韩一二三区| 欧美国产一区视频在线观看| 欧美一区二区性| 亚洲免费黄色| 99riav久久精品riav| 亚洲欧洲精品一区二区三区波多野1战4| 免费成人av| 欧美不卡激情三级在线观看| 狂野欧美一区| 老巨人导航500精品| 国产一区91| 久久这里有精品15一区二区三区| 在线观看的日韩av| 在线免费观看日本欧美| 亚洲国产日韩在线| 亚洲日本成人在线观看| 亚洲精品视频在线| 一本一本久久| 午夜日韩电影| 欧美性做爰毛片| 亚洲网站在线观看| 一区二区精品国产| 亚洲制服少妇| 久久国产精品久久久久久电车| 久久不射中文字幕| 久久亚洲综合色| 欧美岛国在线观看| 欧美日韩妖精视频| 国产精品高清在线| 国产视频精品va久久久久久| 娇妻被交换粗又大又硬视频欧美| 在线精品高清中文字幕| 国产日韩在线一区| 狠狠v欧美v日韩v亚洲ⅴ| 亚洲欧洲视频在线| 9l国产精品久久久久麻豆| 国产真实乱偷精品视频免| 激情久久婷婷| 亚洲美女av黄| 欧美一区二区大片| 女人香蕉久久**毛片精品| 亚洲国产成人一区| 亚洲少妇诱惑| 久久久久久有精品国产| 欧美日韩国产小视频| 国产精品亚洲а∨天堂免在线| 国产精品igao视频网网址不卡日韩| 欧美一区在线看| 欧美精品久久99| 国产一区二区三区在线观看免费 | 亚洲一区二区网站| 久久国产精品色婷婷| 校园春色综合网| 欧美国产欧美亚洲国产日韩mv天天看完整 | 久久gogo国模啪啪人体图| 欧美va天堂| 亚洲一区二区影院| 牛人盗摄一区二区三区视频| 国产精品久久久久久亚洲调教 | 亚洲日本va午夜在线影院| 亚洲一区999| 欧美91大片| 亚洲影院一区| 欧美日韩高清一区| 精品999在线播放| 亚洲欧美日韩一区在线| 亚洲国产精品精华液网站| 亚洲在线播放电影| 日韩系列欧美系列| 一区二区三区国产在线观看| 久久久99国产精品免费| 一区二区久久久久| 欧美黑人国产人伦爽爽爽| 韩国自拍一区| 欧美亚洲在线观看| 亚洲毛片一区| 欧美成人a视频| 裸体女人亚洲精品一区| 欧美+亚洲+精品+三区| 欧美一级二区| 国产精品私拍pans大尺度在线| 一本一本久久a久久精品牛牛影视| 麻豆精品一区二区综合av| 午夜精品www| 国产精品一区在线观看你懂的| av成人免费观看| 亚洲人体一区| 99视频在线精品国自产拍免费观看| 另类亚洲自拍| 在线视频国内自拍亚洲视频| 久久久久国产精品麻豆ai换脸| 亚洲欧美福利一区二区| 国产精品乱码一区二三区小蝌蚪| 9久草视频在线视频精品| 亚洲国产女人aaa毛片在线| 性欧美大战久久久久久久久| 国产精品你懂的| 欧美精品导航| 国产精品亚洲人在线观看| 亚洲午夜电影网| 一本大道av伊人久久综合| 欧美午夜美女看片| 亚洲在线一区| 亚洲自拍啪啪| 国产私拍一区| 久久综合激情| 免费黄网站欧美| 亚洲全部视频| 91久久久久久久久| 可以看av的网站久久看| 亚洲国产精品久久久久久女王| 亚洲精品1区| 国产欧美日韩激情| 亚洲第一在线综合网站| 国产精品理论片| 免费高清在线视频一区·| 欧美日韩在线精品| 久久人人97超碰精品888|