亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > C++ > 正文

深入解析C++中派生類的構(gòu)造函數(shù)

2020-05-23 14:14:06
字體:
供稿:網(wǎng)友

這篇文章主要介紹了深入解析C++中派生類的構(gòu)造函數(shù),是C++入門學(xué)習(xí)中的基礎(chǔ)知識(shí),需要的朋友可以參考下

基類的構(gòu)造函數(shù)不能被繼承,在聲明派生類時(shí),對(duì)繼承過來的成員變量的初始化工作也要由派生類的構(gòu)造函數(shù)來完成。所以在設(shè)計(jì)派生類的構(gòu)造函數(shù)時(shí),不僅要考慮派生類新增的成員變量,還要考慮基類的成員變量,要讓它們都被初始化。

解決這個(gè)問題的思路是:在執(zhí)行派生類的構(gòu)造函數(shù)時(shí),調(diào)用基類的構(gòu)造函數(shù)。

下面的例子展示了如何在派生類的構(gòu)造函數(shù)中調(diào)用基類的構(gòu)造函數(shù)。

 

 
  1. #include<iostream> 
  2. using namespace std; 
  3. //基類 
  4. class People{ 
  5. protected
  6. char *name; 
  7. int age; 
  8. public
  9. People(char*, int); 
  10. }; 
  11. People::People(char *name, int age): name(name), age(age){} 
  12. //派生類 
  13. class Student: public People{ 
  14. private
  15. float score; 
  16. public
  17. Student(char*, intfloat); 
  18. void display(); 
  19. }; 
  20. //調(diào)用了基類的構(gòu)造函數(shù) 
  21. Student::Student(char *name, int age, float score): People(name, age){ 
  22. this->score = score; 
  23. void Student::display(){ 
  24. cout<<name<<"的年齡是"<<age<<",成績是"<<score<<endl; 
  25. int main(){ 
  26. Student stu("小明", 16, 90.5); 
  27. stu.display(); 
  28. return 0; 

運(yùn)行結(jié)果為:

小明的年齡是16,成績是90.5

請(qǐng)注意代碼第23行:

 

 
  1. Student::Student(char *name, int age, float score): People(name, age) 

這是派生類 Student 的構(gòu)造函數(shù)的寫法。冒號(hào)前面是派生類構(gòu)造函數(shù)的頭部,這和我們以前介紹的構(gòu)造函數(shù)的形式一樣,但它的形參列表包括了初始化基類和派生類的成員變量所需的數(shù)據(jù);冒號(hào)后面是對(duì)基類構(gòu)造函數(shù)的調(diào)用,這和普通構(gòu)造函數(shù)的參數(shù)初始化表非常類似。

實(shí)際上,你可以將對(duì)基類構(gòu)造函數(shù)的調(diào)用和參數(shù)初始化表放在一起,如下所示:

 

 
  1. Student::Student(char *name, int age, float score): People(name, age), score(score){} 

基類構(gòu)造函數(shù)和初始化表用逗號(hào)隔開。

需要注意的是:冒號(hào)后面是對(duì)基類構(gòu)造函數(shù)的調(diào)用,而不是聲明,所以括號(hào)里的參數(shù)是實(shí)參,它們不但可以是派生類構(gòu)造函數(shù)總參數(shù)表中的參數(shù),還可以是局部變量、常量等。如下所示:

 

 
  1. Student::Student(char *name, int age, float score): People("李磊", 20) 

基類構(gòu)造函數(shù)調(diào)用規(guī)則

事實(shí)上,通過派生類創(chuàng)建對(duì)象時(shí)必須要調(diào)用基類的構(gòu)造函數(shù),這是語法規(guī)定。也就是說,定義派生類構(gòu)造函數(shù)時(shí)最好指明基類構(gòu)造函數(shù);如果不指明,就調(diào)用基類的默認(rèn)構(gòu)造函數(shù)(不帶參數(shù)的構(gòu)造函數(shù));如果沒有默認(rèn)構(gòu)造函數(shù),那么編譯失敗。

請(qǐng)看下面的例子:

 

 
  1. #include<iostream> 
  2. using namespace std; 
  3. //基類 
  4. class People{ 
  5. protected
  6. char *name; 
  7. int age; 
  8. public
  9. People(); 
  10. People(char*, int); 
  11. }; 
  12. People::People(){ 
  13. this->name = "xxx"
  14. this->age = 0; 
  15. People::People(char *name, int age): name(name), age(age){} 
  16. //派生類 
  17. class Student: public People{ 
  18. private
  19. float score; 
  20. public
  21. Student(); 
  22. Student(char*, intfloat); 
  23. void display(); 
  24. }; 
  25. Student::Student(){ 
  26. this->score = 0.0; 
  27. Student::Student(char *name, int age, float score): People(name, age){ 
  28. this->score = score; 
  29. void Student::display(){ 
  30. cout<<name<<"的年齡是"<<age<<",成績是"<<score<<endl; 
  31. int main(){ 
  32. Student stu1; 
  33. stu1.display(); 
  34. Student stu2("小明", 16, 90.5); 
  35. stu2.display(); 
  36. return 0; 

運(yùn)行結(jié)果:

 

 
  1. xxx的年齡是0,成績是0 
  2. 小明的年齡是16,成績是90.5 

創(chuàng)建對(duì)象 stu1 時(shí),執(zhí)行派生類的構(gòu)造函數(shù) Student::Student(),它并沒有指明要調(diào)用基類的哪一個(gè)構(gòu)造函數(shù),從運(yùn)行結(jié)果可以很明顯地看出來,系統(tǒng)默認(rèn)調(diào)用了不帶參數(shù)的構(gòu)造函數(shù),也就是 People::People()。

創(chuàng)建對(duì)象 stu2 時(shí),執(zhí)行派生類的構(gòu)造函數(shù) Student::Student(char *name, int age, float score),它指明了基類的構(gòu)造函數(shù)。

在第31行代碼中,如果將 People(name, age) 去掉,也會(huì)調(diào)用默認(rèn)構(gòu)造函數(shù),stu2.display() 的輸出結(jié)果將變?yōu)椋?/p>

xxx的年齡是0,成績是90.5

如果將基類 People 中不帶參數(shù)的構(gòu)造函數(shù)刪除,那么會(huì)發(fā)生編譯錯(cuò)誤,因?yàn)閯?chuàng)建對(duì)象 stu1 時(shí)沒有調(diào)用基類構(gòu)造函數(shù)。

總結(jié):如果基類有默認(rèn)構(gòu)造函數(shù),那么在派生類構(gòu)造函數(shù)中可以不指明,系統(tǒng)會(huì)默認(rèn)調(diào)用;如果沒有,那么必須要指明,否則系統(tǒng)不知道如何調(diào)用基類的構(gòu)造函數(shù)。

構(gòu)造函數(shù)的調(diào)用順序

為了搞清這個(gè)問題,我們不妨先來看一個(gè)例子:

 

 
  1. #include<iostream> 
  2. using namespace std; 
  3. //基類 
  4. class People{ 
  5. protected
  6. char *name; 
  7. int age; 
  8. public
  9. People(); 
  10. People(char*, int); 
  11. }; 
  12. People::People(): name("xxx"), age(0){ 
  13. cout<<"PeoPle::People()"<<endl; 
  14. People::People(char *name, int age): name(name), age(age){ 
  15. cout<<"PeoPle::People(char *, int)"<<endl; 
  16. //派生類 
  17. class Student: public People{ 
  18. private
  19. float score; 
  20. public
  21. Student(); 
  22. Student(char*, intfloat); 
  23. }; 
  24. Student::Student(): score(0.0){ 
  25. cout<<"Student::Student()"<<endl; 
  26. Student::Student(char *name, int age, float score): People(name, age), score(score){ 
  27. cout<<"Student::Student(char*, int, float)"<<endl; 
  28. int main(){ 
  29. Student stu1; 
  30. cout<<"--------------------"<<endl; 
  31. Student stu2("小明", 16, 90.5); 
  32. return 0; 

運(yùn)行結(jié)果:

 

 
  1. PeoPle::People() 
  2. Student::Student() 
  3. -------------------- 
  4. PeoPle::People(char *, int
  5. Student::Student(char*, intfloat

從運(yùn)行結(jié)果可以清楚地看到,當(dāng)創(chuàng)建派生類對(duì)象時(shí),先調(diào)用基類構(gòu)造函數(shù),再調(diào)用派生類構(gòu)造函數(shù)。如果繼承關(guān)系有好幾層的話,例如:

A --> B --> C

那么則創(chuàng)建C類對(duì)象時(shí),構(gòu)造函數(shù)的執(zhí)行順序?yàn)椋?/p>

A類構(gòu)造函數(shù) --> B類構(gòu)造函數(shù) --> C類構(gòu)造函數(shù)

構(gòu)造函數(shù)的調(diào)用順序是按照繼承的層次自頂向下、從基類再到派生類的。

C++有子對(duì)象的派生類的構(gòu)造函數(shù)

類的數(shù)據(jù)成員不但可以是標(biāo)準(zhǔn)型(如int、char)或系統(tǒng)提供的類型(如string),還可以包含類對(duì)象,如可以在聲明一個(gè)類時(shí)包含這樣的數(shù)據(jù)成員:

 

 
  1. Student s1; //Student是已聲明的類名,s1是Student類的對(duì)象 

這時(shí),s1就是類對(duì)象中的內(nèi)嵌對(duì)象,稱為子對(duì)象(subobject),即對(duì)象中的對(duì)象。

那么,在對(duì)數(shù)據(jù)成員初始化時(shí)怎樣對(duì)子對(duì)象初始化呢?請(qǐng)仔細(xì)分析下面程序,特別注意派生類構(gòu)造函數(shù)的寫法。

[例] 包含子對(duì)象的派生類的構(gòu)造函數(shù)。為了簡化程序以易于閱讀,這里設(shè)基類Student的數(shù)據(jù)成員只有兩個(gè),即num和name。

 

  1. #include <iostream> 
  2. #include <string> 
  3. using namespace std; 
  4. class Student//聲明基類 
  5. public//公用部分 
  6. Student(int n, string nam ) //基類構(gòu)造函數(shù),與例11.5相同 
  7. num=n; 
  8. name=nam; 
  9. void display( ) //成員函數(shù),輸出基類數(shù)據(jù)成員 
  10. cout<<"num:"<<num<<endl<<"name:"<<name<<endl; 
  11. protected//保護(hù)部分 
  12. int num; 
  13. string name; 
  14. }; 
  15. class Student1: public Student //聲明公用派生類Student1 
  16. public
  17. Student1(int n, string nam,int n1, string nam1,int a, string ad):Student(n,nam),monitor(n1,nam1) //派生類構(gòu)造函數(shù) 
  18. age=a; 
  19. addr=ad; 
  20. void show( ) 
  21. cout<<"This student is:"<<endl; 
  22. display(); //輸出num和name 
  23. cout<<"age: "<<age<<endl; //輸出age 
  24. cout<<"address: "<<addr<<endl<<endl; //輸出addr 
  25. void show_monitor( ) //成員函數(shù),輸出子對(duì)象 
  26. cout<<endl<<"Class monitor is:"<<endl; 
  27. monitor.display( ); //調(diào)用基類成員函數(shù) 
  28. private//派生類的私有數(shù)據(jù) 
  29. Student monitor; //定義子對(duì)象(班長) 
  30. int age; 
  31. string addr; 
  32. }; 
  33. int main( ) 
  34. Student1 stud1(10010,"Wang-li",10001,"Li-sun",19,"115 Beijing Road,Shanghai"); 
  35. stud1.show( ); //輸出學(xué)生的數(shù)據(jù) 
  36. stud1.show_monitor(); //輸出子對(duì)象的數(shù)據(jù) 
  37. return 0; 

運(yùn)行時(shí)的輸出如下:

 

 
  1. This student is: 
  2. num: 10010 
  3. name: Wang-li 
  4. age: 19 
  5. address:115 Beijing Road,Shanghai 
  6. Class monitor is: 
  7. num:10001 
  8. name:Li-sun 

請(qǐng)注意在派生類Student1中有一個(gè)數(shù)據(jù)成員:

 

 
  1. Student monitor; //定義子對(duì)象 monitor(班長) 

“班長”的類型不是簡單類型(如int、char、float等),它是Student類的對(duì)象。我們知道, 應(yīng)當(dāng)在建立對(duì)象時(shí)對(duì)它的數(shù)據(jù)成員初始化。那么怎樣對(duì)子對(duì)象初始化呢?顯然不能在聲明派生類時(shí)對(duì)它初始化(如Student monitor(10001, "Li-fun");),因?yàn)轭愂浅橄箢愋?,只是一個(gè)模型,是不能有具體的數(shù)據(jù)的,而且每一個(gè)派生類對(duì)象的子對(duì)象一般是不相同的(例如學(xué)生A、B、C的班長是A,而學(xué)生D、E、F的班長是F)。因此子對(duì)象的初始化是在建立派生類時(shí)通過調(diào)用派生類構(gòu)造函數(shù)來實(shí)現(xiàn)的。

派生類構(gòu)造函數(shù)的任務(wù)應(yīng)該包括3個(gè)部分:

對(duì)基類數(shù)據(jù)成員初始化;

對(duì)子對(duì)象數(shù)據(jù)成員初始化;

對(duì)派生類數(shù)據(jù)成員初始化。

程序中派生類構(gòu)造函數(shù)首部如下:

 

 
  1. Student1(int n, string nam,int n1, string nam1,int a, string ad): 
  2. Student(n,nam),monitor(n1,nam1) 

在上面的構(gòu)造函數(shù)中有6個(gè)形參,前兩個(gè)作為基類構(gòu)造函數(shù)的參數(shù),第3、第4個(gè)作為子對(duì)象構(gòu)造函數(shù)的參數(shù),第5、第6個(gè)是用作派生類數(shù)據(jù)成員初始化的。

歸納起來,定義派生類構(gòu)造函數(shù)的一般形式為: 派生類構(gòu)造函數(shù)名(總參數(shù)表列): 基類構(gòu)造函數(shù)名(參數(shù)表列), 子對(duì)象名(參數(shù)表列)

{

派生類中新增數(shù)成員據(jù)成員初始化語句

}

執(zhí)行派生類構(gòu)造函數(shù)的順序是:

調(diào)用基類構(gòu)造函數(shù),對(duì)基類數(shù)據(jù)成員初始化;

調(diào)用子對(duì)象構(gòu)造函數(shù),對(duì)子對(duì)象數(shù)據(jù)成員初始化;

再執(zhí)行派生類構(gòu)造函數(shù)本身,對(duì)派生類數(shù)據(jù)成員初始化。

派生類構(gòu)造函數(shù)的總參數(shù)表列中的參數(shù),應(yīng)當(dāng)包括基類構(gòu)造函數(shù)和子對(duì)象的參數(shù)表列中的參數(shù)。基類構(gòu)造函數(shù)和子對(duì)象的次序可以是任意的,如上面的派生類構(gòu)造函數(shù)首部可以寫成

 

 
  1. Student1(int n, string nam,int n1, string nam1,int a, string ad): monitor(n1,nam1),Student(n,nam) 

編譯系統(tǒng)是根據(jù)相同的參數(shù)名(而不是根據(jù)參數(shù)的順序)來確立它們的傳遞關(guān)系的。但是習(xí)慣上一般先寫基類構(gòu)造函數(shù)。

如果有多個(gè)子對(duì)象,派生類構(gòu)造函數(shù)的寫法依此類推,應(yīng)列出每一個(gè)子對(duì)象名及其參數(shù)表列。

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
九色蝌蚪在线| 一本久道在线| 色狠狠一区二区| 91精品国产乱码久久久张津瑜| 亚洲人精选亚洲人成在线| av毛片午夜不卡高**水| 日韩亚洲欧美中文高清在线| 先锋影音资源综合在线播放av| 国产一区二区三区站长工具| 欧美视频在线观看一区二区| 日韩av资源| 成人美女大片| 国产一区二区精品在线观看| 香蕉av在线| 狠狠色噜噜狠狠狠8888米奇| 日韩一区二区在线| 国产伦精品一区二区三区视频免费| 久久综合九色综合欧美狠狠| 久久国产精品视频在线观看| 午夜亚洲国产au精品一区二区| 在线观看视频欧美| 国产三级中文字幕| 国内精品久久久久影院薰衣草| 欧美专区中文字幕| 黄色污网站在线观看| 在线观看免费国产成人软件| 久久无码精品丰满人妻| 亚洲免费影视第一页| 欧美久久一区| 一个人看免费www视频有多爽| 国产一区二区三区福利| 18岁成人毛片| 凹凸成人精品亚洲精品密奴| 蜜桃成人精品| 国产区成人精品视频| 大又大又粗又硬又爽少妇毛片| 精品亚洲一区二区三区四区| 久久99国产精品久久99果冻传媒| 麻豆传媒视频在线观看免费| 成人午夜精品| 中文在线字幕在线观看| 日韩一区国产在线观看| 激情综合五月婷婷| 免费视频最近日韩| 99精品一区二区三区的区别| 日本一卡二卡四卡精品| 99久久99久久综合| 亚洲精品suv精品一区二区| 久久国产精品久久久久久电车| 中文字幕avav| 亚洲av无一区二区三区久久| 夜夜爽99久久国产综合精品女不卡| 黄色aaa毛片| 91精品国产高久久久久久五月天| 日本精品免费观看高清观看| 日本欧美一区二区在线观看| 欧美日韩亚洲视频一区| 妺妺窝人体色777777| 国产成人精品视频| 亚洲视频国产| 深夜爽爽视频| 韩日a级毛片| 91社在线播放| 欧美性色黄在线视频| 给我看免费高清在线观看| 欧美激情一二三| 亚洲男女自偷自拍| 久久99久久久久| 国产婷婷精品av在线| 红桃视频欧美| 免费啪视频在线观看| 亚洲国产精品二区| 国产丝袜在线精品| 你懂得视频在线观看| 天天看天天摸天天操| 激情视频亚洲| 国产精品视频免费在线| 男人精品网站一区二区三区| 猫咪成人官网| 日本精品一区二区三区视频| 欧美成人在线免费视频| 日韩欧美另类中文字幕| 国产综合动作在线观看| 老妇喷水一区二区三区| yiren22综合网成人| 超级砰砰砰97免费观看最新一期| 99久久久无码国产精品性波多| 国产亚洲色婷婷久久99精品| 婷婷国产精品| 影视一区二区三区| 国产777精品精品热热热一区二区| 丰满岳乱妇一区二区三区| 毛片网站网址| 亲子伦视频一区二区三区| 国产在线观看精品| 国产精品黄页网站在线播放免费| 国产精品美女高潮无套| 免费拍拍拍网站| 久久青青草原| 在线中文字幕第一页| 天堂av在线8| 色综合久久中文字幕综合网小说| 美女又爽又黄免费视频| 天天舔天天操天天干| 在线国产日韩| 免费在线午夜视频| 香蕉视频在线观看网站| 综合自拍亚洲综合图不卡区| 久久大综合网| 欧美一区二区在线视频观看| 一区二区成人国产精品| 日韩三级久久| 一区二区在线视频观看| 免费在线观看视频a| 婷婷中文字幕在线观看| 成人黄色毛片| 亚洲av成人无码网天堂| 在线最新版中文在线| 91视频最新网址| 中文字幕亚洲欧美在线不卡| 亚洲黄一区二区| 国产乱码精品一区二区三区卡| 国产成人av电影在线观看| 一区二区三区精品国产| 欧美白人最猛性xxxxx69交| 久久精品免视着国产成人| 最新日本视频| 天堂中文字幕在线| 不卡的看片网站| 少妇高潮av久久久久久| 青青草.com| 区一区二日本| 影音先锋日韩av| 精品捆绑调教一区二区三区| 亚洲成av人片在线观看www| 免费成人深夜夜行p站| 一区二区视频在线观看免费的| 欧美日韩在线观看首页| 爱爱永久免费视频| 国产剧情在线观看一区二区| 成人免费毛片日本片视频| 二区三区不卡不卡视频| 欧美色婷婷久久99精品红桃| 亚洲三级精品| 黄色成人免费观看| 国产精品扒开腿做爽爽爽视频| 激情久久综合网| 超碰99在线| 狠狠网亚洲精品| 日产精品久久久久| 你懂得网站在线| 精品国产第一国产综合精品| 综合久久2023| 欧美一级大片免费看| 丰满人妻一区二区三区53视频| 精品国产一区二区三区麻豆小说| 91av国产在线| xxx在线播放| 高清日韩电视剧大全免费| 国产日韩在线观看av| 国产77777| 欧美亚日韩国产aⅴ精品中极品| 欧美丝袜一区二区三区| 潘金莲一级淫片aaaaaaa| 色婷婷久久一区二区三区麻豆| 最新av在线网站| 精品一区二区三区中文字幕| 性感美女一区二区三区| 亚洲aaaaaa| 伊人久久久久久久久久| 国产视频精品一区二区三区| 校园春色亚洲| 欧美成人三级视频网站| 亚洲一级视频在线观看| 亚洲色图清纯唯美| 欧美老熟妇喷水| 最近中文字幕mv2018在线高清| 蜜臀99久久精品久久久久小说| 精品视频在线播放色网色视频| 久草在线资源福利| 日本不卡一区二区三区四区| 国产一区二区三区小说| 日韩国产综合| 91视频最新网址| 波多野结衣乳巨码无在线观看| 久草视频免费在线播放| 欧美做受69| 欧美一区二区三区成人精品| 六月婷婷色综合| 日韩av成人在线观看| 四虎永久免费在线观看| 国产wwwxx| 欧美性猛交xx| 日本天堂网在线观看| 香蕉视频禁止18| 国产亚洲精品久久久久久豆腐| 免费看日韩毛片| 大香一本蕉伊线亚洲网| 亚洲欧美自偷自拍另类| 亚洲国产成人av好男人在线观看| 国产欧美日韩精品综合| 国产aa精品| 亚洲女女做受ⅹxx高潮| 国产精品12p| 欧美日韩免费精品| 国产a级片视频| 好吊一区二区三区| 欧美激情免费视频| 欧美熟乱15p| 国产精品无码免费播放| 99re国产在线播放| 久久免费视频一区| 亚洲激情一区二区三区| 久久手机免费观看| 亚洲精品国产品国语在线app| 五十路中文字幕| 精品国产亚洲一区二区在线观看| 51精品秘密在线观看| 成人毛片av在线| 日韩 欧美 亚洲| 偷拍视屏一区| 亚洲嫩草精品久久| 精品视频日韩| 亚洲视频在线观看视频| 97精品久久久久中文字幕| 日本在线免费观看一区| h片精品在线观看| 欧美精品日韩| 国产精品专区免费| 伊人av电影| 国产精品yjizz视频网一二区| 亚洲丝袜精品| 日韩电影免费在线观看中文字幕| www一区二区| 亚洲中文字幕无码av永久| 韩国日本一区二区三区| 校园春色影音先锋| 国偷自产av一区二区三区| 韩国欧美一区| 色视频免费网站| 尤物一区二区三区| 一区二区三区在线观看av| 91超碰caoporn97人人| 亚洲天堂免费看| 被弄出白浆喷水了视频| 亚洲精品无码久久久久| 一区二区免费av| 国产大陆精品国产| 一区二区不卡在线视频 午夜欧美不卡'| 国产高清视频在线观看| 亚洲欧美精品一区| 精品免费在线观看| www.丝袜精品| 成人av免费在线播放| 69精品小视频| 国产ts一区二区| 人xxxx性xxxxx欧美| julia一区二区三区中文字幕| 国产精品熟妇一区二区三区四区| 日本搞黄视频| xxxxx99| 国模少妇一区二区三区| 99国产精品国产精品久久| 久久午夜免费视频| 国产欧美二区| 日本精品视频一区二区三区| 国产999精品在线观看| 亚洲精品国产一区| 3p乱日视频| 激情文学一区| 亚洲天堂av免费在线观看| 色视频在线看| 欧美大片在线看| 欧美熟妇乱码在线一区| 欧美日韩在线不卡一区| 欧美日韩在线精品一区二区三区激情综合| 亚洲一区二区在线观看视频| www国产精品av| 超碰精品在线| 日本欧美在线| 日韩欧美精品三级| 亚洲免费高清视频在线| 精品成人无码久久久久久| 一级性生活大片| 欧美一级欧美一级在线播放| jizzjizz丝袜老师| 亚洲精品视频中文字幕| 久久国产免费观看| 中文字幕欧美人妻精品一区| 国产精品福利在线| 日韩av大片站长工具| 久久人91精品久久久久久不卡| 亚洲综合在线第一页| 999久久久精品视频| 成人网在线免费观看| 最新在线观看av网站| 欧美国产成人在线| 88国产精品欧美一区二区三区| 亚洲自拍偷拍麻豆| 欧美精彩视频一区二区三区| 无码人妻丰满熟妇啪啪欧美| 国产男女无套在线播放| 96成人在线视频| 国产精品自产拍| 成人午夜视频福利| 免费av不卡在线| 欧美黑人巨大精品一区二区| 国产精品大全| 丰满人妻一区二区三区53视频| 丁香网亚洲国际| 国产日韩精品久久久| 亚洲成色www久久网站| 天堂资源在线观看| 亚洲精品人妻无码| jjzzjjzz欧美69巨大| 红桃成人av在线播放| 夜夜操夜夜骑| 亚洲ww精品| 久久亚洲免费| 一区二区三区四区免费视频| 亚洲欧美日韩高清在线| 日本免费黄视频| 黄色a**址| 中国人xxxxx69免费视频| 成人一区二区三区在线观看| 久久综合精品一区| 亚洲精品五月天| 欧美国产日韩在线播放|