日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > c/c++ >内容正文

c/c++

C++课堂笔记0716

發布時間:2024/3/13 c/c++ 50 豆豆
生活随笔 收集整理的這篇文章主要介紹了 C++课堂笔记0716 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
7.16


int *ptr;
ptr++;
(*ptr)++
*ptr++;

int a = 5;
int &b =a;
b++;


1.繼承
基類中,在類內,public,protected, private都是可以隨意訪問的;在基類的對象中,只能訪問public成員;


public繼承: 基類的public成員,在派生類中依舊是public屬性,派生類的對象可訪問以訪問;
? ? ? ? ? ? ?基類中的private成員,在派生類中是private屬性,派生類中的對象不可以訪問;派生類中也不可以訪問;
? ? ? ? ? ? ?基類中的protected成員,在派生類中是protected屬性,派生類的對象中不可以訪問,派生類中是可以訪問基類的protected成員的;
private繼承:基類中的public成員,在派生類中是private屬性;在派生類對象中是不可以訪問;基類中public變成派生類中private, 在派生類中是可以訪問的;
? ? ? ? ? ? ?基類中private成員,在派生類中是private屬性,在派生類和派生對象中都是不可以訪問的;
? ? ? ? ? ? ?基類中protected成員,在派生類中是private屬性,在派生類中是可以訪問的,在派生類的對象中是不可以訪問的;
protected繼承: ?基類中public成員,在派生類中是protected屬性,在派生類中是可以直接訪問,在派生類對象中無法訪問;
? ? ? ? ? ? ? ? 。。。protected 成員,在派生類中protected屬性,在派生類中可直接訪問,在派生類對象中不能訪問;
? ? ? ? ? ? ? ? 基類中private成員,在派生類中private屬性,在派生類中無法訪問,派生類對象無法訪問;
? ? ? ? ? ? ? ??
? ? ? ? ? ? ? ??
?using 改變權限:把public可以改成保護的,私有的;
? ? ? ? ? ? ? ? ?protected可以改成public,私有的;
? ? ? ? ? ? ? ? ?private 不能改;


2。名字遮蔽
在繼承中不存在重載,發生遮蔽;派生類函數名和基類函數名相同,不論參數如何,名字相同就發生遮蔽;


3. 繼承的時候內存模型
派生類中的內存是:基類中變量所占空間+ 派生類自己的變量空間;
成員函數仍然在代碼區, 共享;


4。派生類構造函數
派生類構造函數調用基類的構造函數來實現,不能放在函數體中調用,因為基類的構造函數不能被繼承;
派生類構造函數調用的基類的構造函數,參數是實參,不是形參;




5。派生類的析構函數
構造函數,析構函數都是不能被繼承的;
A-〉B-〉C的派生順序,構造函數順序:A-〉B-〉C ,析構順序C-〉B-〉A;




6。多繼承
類A,B,C,
class D:public A,public B,public C{};


基類構造函數出現的順序和繼承時的順序有關;


7。命名沖突,虛繼承


class B:virtual public A{ ?};


虛繼承是表示派生類愿意共享他的基類;
被共享的基類,叫做虛基類;


8。多繼承的構造函數(虛繼承)
構造函數是受間接基類影響,不是直接基類;


A----B,C -- D
?B,C是D的直接基類;

?A是D的間接基類;



細節:

一.引用
引用是變量的一個別名,通過這個別名和原來的名字都可以找到這份數據。
一個人的名字和綽號,表示同一個人。


1。引用和變量
<類型> ?&name = ?data;


引用必須在定義的時候同時初始化,后面不能再引用其他數據,類似于const



#include <iostream>
using namespace std;


int main()
{
? ? int a = 99;
? ? int &b = a;
? ??
? ? cout<<a<<","<<b<<endl;
? ? cout<<&a<<","<<&b<<endl;
? ? return 0;
}




引用在定義的時候加&,使用的時候不用,加&表示地址。
不希望引用修改數據,就在前面加const

const <類型> ?&name = ?data;或
<類型> const ?&name = ?data;




2。引用作為函數參數
用引用作為形參,調用時形參和實參就綁定在一起,指向同一份數據,如同C中的地址傳遞。
修改形參,實參也改變,不會出現C中數值傳遞的時候實參不改變。


#include <iostream>
using namespace std;


void swap1(int a, int b);
void swap2(int *p1, int *p2);
void swap3(int &a, int &b);




int main(){
? ? int num1, num2;
? ? cout<<"Input two integers: ";
? ? cin>>num1>>num2;
? ? swap1(num1, num2);
? ? cout<<num1<<" "<<num2<<endl;
? ?
? ? cout<<"Input two integers: ";
? ? cin>>num1>>num2;
? ? swap2(&num1, &num2);
? ? cout<<num1<<" "<<num2<<endl;
? ?
? ? cout<<"Input two integers: ";
? ? cin>>num1>>num2;
? ? swap3(num1, num2);
? ? cout<<num1<<" "<<num2<<endl;


? ? return 0;
}


//直接傳遞參數內容
void swap1(int a, int b){
? ? int temp = a;
? ? a = b;
? ? b = temp;
}


//傳遞指針
void swap2(int *p1, int *p2){
? ? int temp = *p1;
? ? *p1 = *p2;
? ? *p2 = temp;
}


//按引用傳參 ?a,b分別綁定num1,num2了
void swap3(int &a, int &b){
? ? int temp = a;
? ? a = b;
? ? b = temp;
}?




3。引用作為函數返回值
#include <iostream>
using namespace std;


int &sum(int &num)
{
? ? num = num +1;
? ? return num;
}




int main()
{
? ? int n = 20;
? ? int m = sum(n);
? ? cout<<m<<endl;
? ? return ?0;
}




注意:不能返回局部變量的引用;
如:
#include <iostream>
using namespace std;


int &plus10(int &n){
? ? int m = n + 10;
? ? return m; ?//返回局部數據的引用
}


int main(){
? ? int num1 = 10;
? ? int num2 = plus10(num1);
? ? cout<<num2<<endl;
? ? int &num3 = plus10(num1);
? ? int &num4 = plus10(num3);
? ? cout<<num3<<" "<<num4<<endl;


? ? return 0;
}




4。引用的本質,和指針的區別
引用只是對指針進行了封裝,底層還是通過指針實現的。


4.1 引用必須在定義時初始化,從一而終,不能指向其他數據;
指針沒這個限制,不一定賦值,也能指向任意數據。


4.2 可以有const指針,但是沒有const引用;?
int a = 20;
int & const r = a; error


const int *const ptr ;


多此一舉


3. 指針可以有多級:int **p;但引用int &&p是錯誤的;
可以如下:
int a = 10;
int &r = a;
int &rr = r;




4. 指針和引用的自增++,自減--表示不一樣。
? 指針表示指向的地址發生改變,指向下一個單元;
? 引用表示指向的值改變;
? char a='c' ; --- &a = 0x10000000;
? char *ptr=&a;
? ptr++;
? ptr--;
? 0x100000000;
??
? int a = 3;
? int &b= a;
? b++;
? b--;
??
??
??
? #include <iostream>
using namespace std;


int main (){
? ? int a = 10;
? ? int &r = a;
? ? r++;
? ? cout<<r<<endl;
? ?
? ? int arr[2] = { 27, 84 };
? ? int *p = arr;
? ? p++;
? ? cout<<*p<<endl;


? ? return 0;
}












二.繼承和派生?
一個人的特征,在血型,膚色,身材,相貌方面有父母的特征,同時和兄弟姐妹有區別的特征。


2.1 概念
繼承(Inheritance)可以理解為一個類從另一個類獲取成員變量和成員函數的過程。
例如類 B 繼承于類 A,那么 B 就擁有 A 的成員變量和成員函數。
被繼承的類稱為父類或基類,繼承的類稱為子類或派生類。


定義新類的時候可以從一個或多個既有類中繼承所有的數據成員和函數成員,然后再加上自己的
新成員或重新定義由繼承得到的成員。
繼承格式:
class 派生類名:[繼承方式] 基類名{
? ? 派生類新增加的成員
};




#include<iostream>
using namespace std;


//基類 Pelple
class People{
public:
? ? void setname(char *name);
? ? void setage(int age);
? ? char *getname();
? ? int getage();
private:
? ? char *m_name;
? ? int m_age;
};
void People::setname(char *name){ m_name = name; }
void People::setage(int age){ m_age = age; }
char* People::getname(){ return m_name; }
int People::getage(){ return m_age;}








//派生類 Student
class Student: public People{
public:
? ? void setscore(float score);
? ? float getscore();
private:
? ? float m_score;
};
void Student::setscore(float score){ m_score = score; }
float Student::getscore(){ return m_score; }


int main(){
? ? Student stu;
? ? stu.setname("小明");
? ? stu.setage(16);
? ? stu.setscore(95.5f);
? ? cout<<stu.getname()<<"的年齡是 "<<stu.getage()<<",成績是 "<<stu.getscore()<<endl;


? ? return 0;
}


class Student: public People
這就是聲明派生類的語法。class 后面的“Student”是新聲明的派生類,冒號后面的“People”是已經存在的基類。
在“People”之前有一關鍵宇 public,用來表示是公有繼承。




2.2 ?繼承的權限?


C++繼承的一般語法為:
class 派生類名:[繼承方式] 基類名{
? ? 派生類新增加的成員
};


繼承方式限定了基類成員在派生類中的訪問權限,包括 public(公有的)、private(私有的)和 protected(受保護的)。
此項是可選項,如果不寫,默認為 private(成員變量和成員函數默認也是 private)。


類成員的訪問權限由高到低依次為 public --> protected --> private,
?public 和 private:public 成員可以通過對象來訪問,private 成員不能通過對象訪問
?
?protected 成員和 private 成員類似,也不能通過對象訪問。
?但是當存在繼承關系時,protected 和 private 就不一樣了:
?基類中的 protected 成員可以在派生類中使用,而基類中的 private 成員不能在派生類中使用。


public、protected、private 指定繼承方式


不同的繼承方式會影響基類成員在派生類中的訪問權限。


1) public繼承方式
基類中所有 public 成員在派生類中為 public 屬性;
基類中所有 protected 成員在派生類中為 protected 屬性;
基類中所有 private 成員在派生類中不能使用。


2) protected繼承方式
基類中的所有 public 成員在派生類中為 protected 屬性;
基類中的所有 protected 成員在派生類中為 protected 屬性;
基類中的所有 private 成員在派生類中不能使用。


3) private繼承方式
基類中的所有 public 成員在派生類中均為 private 屬性;
基類中的所有 protected 成員在派生類中均為 private 屬性;
基類中的所有 private 成員在派生類中不能使用。






基類中:
public成員:在基類,派生類的類內,和對象都可以訪問;
private成員:只能是當前類的類內訪問,對象和派生類的類內和對象都不可以訪問;
public成員: 基類和派生類的對象都不可以訪問,但是基類和派生類類內可以訪問;






















1。 繼承方式中的 public、protected、private 是用來指明基類成員在派生類中的最高訪問權限的。
2) 不管繼承方式如何,基類中的 private 成員在派生類中始終不能使用(不能在派生類的成員函數中訪問或調用)
3) 如果希望基類的成員能夠被派生類繼承并且毫無障礙地使用,那么這些成員只能聲明為 public 或 protected;
只有那些不希望在派生類中使用的成員才聲明為 private。


4) 如果希望基類的成員既不向外暴露(不能通過對象訪問),還能在派生類中使用,那么只能聲明為 protected。


基類的 private 成員是能夠被繼承的,并且(成員變量)會占用派生類對象的內存,它只是在派生類中不可見,
導致無法使用罷了。private 成員的這種特性,能夠很好的對派生類隱藏基類的實現,以體現面向對象的封裝性。


#include<iostream>
using namespace std;


//基類People
class People{
public:
? ? void setname(char *name);
? ? void setage(int age);
? ? void sethobby(char *hobby);
? ? char *gethobby();
protected:
? ? char *m_name;
? ? int m_age;
private:
? ? char *m_hobby;
};
void People::setname(char *name){ m_name = name; }
void People::setage(int age){ m_age = age; }
void People::sethobby(char *hobby){ m_hobby = hobby; }
char *People::gethobby(){ return m_hobby; }


//派生類Student
class Student: public People{
public:
? ? void setscore(float score);
protected:
? ? float m_score;
};
void Student::setscore(float score){ m_score = score; }


//派生類Pupil
class Pupil: public Student{
public:
? ? void setranking(int ranking);
? ? void display();
private:
? ? int m_ranking;
};
void Pupil::setranking(int ranking){ m_ranking = ranking; }
void Pupil::display(){
? ? cout<<m_name<<"的年齡是"<<m_age<<",考試成績為"<<m_score<<"分,班級排名第"<<m_ranking<<",TA喜歡"<<gethobby()<<"。"<<endl;
}


int main(){
? ? Pupil pup;
? ? pup.setname("小明");
? ? pup.setage(15);
? ? pup.setscore(92.5f);
? ? pup.setranking(4);
? ? pup.sethobby("乒乓球");
? ? pup.display();


? ? return 0;
}


在派生類中訪問基類 private 成員的唯一方法就是借助基類的非 private 成員函數,如果基類沒有非 private 成員函數,
那么該成員在派生類中將無法訪問(除非使用下面講到的 using 關鍵字)






2.3 ?using改變權限
使用 using 關鍵字可以改變基類成員在派生類中的訪問權限,例如將 public 改為 private、將 protected 改為 public。


#include<iostream>
using namespace std;


//基類People
class People{
public:
? ? void show();
protected:
? ? char *m_name;
? ? int m_age;
};
void People::show(){
? ? cout<<m_name<<"的年齡是"<<m_age<<endl;
}


//派生類Student
class Student: public People{
public:
? ? void learning();
public:
? ? using People::m_name; ?//將procted改為public
? ? using People::m_age; ?//將procted改為public
? ? float m_score;
private:
? ? using People::show; ?//將public改為private
};
void Student::learning(){
? ? cout<<"我是"<<m_name<<",今年"<<m_age<<"歲,這次考了"<<m_score<<"分!"<<endl;
}


int main(){
? ? Student stu;
? ? stu.m_name = "小明";
? ? stu.m_age = 16;
? ? stu.m_score = 99.5f;
? ? stu.show(); ?//compile error
? ? stu.learning();


? ? return 0;
}




2.4 ?遮蔽
如果派生類中的成員(包括成員變量和成員函數)和基類中的成員重名,那么就會遮蔽從基類繼承過來的成員。
所謂遮蔽,就是在派生類中使用該成員(包括在定義派生類時使用,也包括通過派生類對象訪問該成員)時,
實際上使用的是派生類新增的成員,而不是從基類繼承來的。


#include<iostream>
using namespace std;


//基類People
class People{
public:
? ? void show();
protected:
? ? char *m_name;
? ? int m_age;
};
void People::show(){
? ? cout<<"嗨,大家好,我叫"<<m_name<<",今年"<<m_age<<"歲"<<endl;
}


//派生類Student
class Student: public People{
public:
? ? Student(char *name, int age, float score);
public:
? ? void show(); ?//遮蔽基類的show()
private:
? ? float m_score;
};
Student::Student(char *name, int age, float score){
? ? m_name = name;
? ? m_age = age;
? ? m_score = score;
}
void Student::show(){
? ? cout<<m_name<<"的年齡是"<<m_age<<",成績是"<<m_score<<endl;
}


int main(){
? ? Student stu("小明", 16, 90.5);
? ? //使用的是派生類新增的成員函數,而不是從基類繼承的
? ? stu.show();
? ? //使用的是從基類繼承來的成員函數
? ? stu.People::show();


? ? return 0;
}




2.5 ?基類和派生類遮蔽不構成重載
基類成員函數和派生類成員函數不會構成重載,如果派生類有同名函數,
那么就會遮蔽基類中的所有同名函數,不管它們的參數是否一樣。


#include<iostream>
using namespace std;


//基類Base
class Base{
public:
? ? void func();
? ? void func(int);
};
void Base::func(){ cout<<"Base::func()"<<endl; }
void Base::func(int a){ cout<<"Base::func(int)"<<endl; }


//派生類Derived
class Derived: public Base{
public:
? ? void func(char *);
? ? void func(bool);
};
void Derived::func(char *str){ cout<<"Derived::func(char *)"<<endl; }
void Derived::func(bool is){ cout<<"Derived::func(bool)"<<endl; }


int main(){
? ? Derived d;
? ? d.func("c.biancheng.net");
? ? d.func(true);
? ? d.func(); ?//compile error
? ? d.func(10); ?//compile error
? ? d.Base::func();
? ? d.Base::func(100);


? ? return 0;
}




2.6 ?派生類構造函數
在派生類的構造函數中調用基類的構造函數;


#include<iostream>
using namespace std;


//基類People
class People{
protected:
? ? char *m_name;
? ? int m_age;
public:
? ? People(char*, int);
};
People::People(char *name, int age): m_name(name), m_age(age){}


//派生類Student
class Student: public People{
private:
? ? float m_score;
public:
? ? Student(char *name, int age, float score);
? ? void display();
};
//People(name, age)就是調用基類的構造函數
Student::Student(char *name, int age, float score): People(name, age), m_score(score){ }
void Student::display(){
? ? cout<<m_name<<"的年齡是"<<m_age<<",成績是"<<m_score<<"。"<<endl;
}


int main(){
? ? Student stu("小明", 16, 90.5);
? ? stu.display();


? ? return 0;
}




構造函數調用順序:先基類再派生類
****派生類構造函數中只能調用直接基類的構造函數,不能調用間接基類的


2.7基類構造函數調用規則


事實上,通過派生類創建對象時必須要調用基類的構造函數,這是語法規定。
換句話說,定義派生類構造函數時最好指明基類構造函數;如果不指明,
就調用基類的默認構造函數(不帶參數的構造函數);如果沒有默認構造函數,
那么編譯失敗。請看下面的例子:


#include <iostream>
using namespace std;


//基類People
class People{
public:
? ? People(); ?//基類默認構造函數
? ? People(char *name, int age);
protected:
? ? char *m_name;
? ? int m_age;
};
People::People(): m_name("xxx"), m_age(0){ }
People::People(char *name, int age): m_name(name), m_age(age){}


//派生類Student
class Student: public People{
public:
? ? Student();
? ? Student(char*, int, float);
public:
? ? void display();
private:
? ? float m_score;
};
Student::Student(): m_score(0.0){ } ?//派生類默認構造函數
Student::Student(char *name, int age, float score): People(name, age), m_score(score){ }
void Student::display(){
? ? cout<<m_name<<"的年齡是"<<m_age<<",成績是"<<m_score<<"。"<<endl;
}


int main(){
? ? Student stu1;
? ? stu1.display();


? ? Student stu2("小明", 16, 90.5);
? ? stu2.display();


? ? return 0;
}




3。 派生類的析構函數


和構造函數類似,析構函數也不能被繼承。
另外析構函數的執行順序和構造函數的執行順序也剛好相反:
創建派生類對象時,構造函數的執行順序和繼承順序相同,即先執行基類構造函數,再執行派生類構造函數。
而銷毀派生類對象時,析構函數的執行順序和繼承順序相反,即先執行派生類析構函數,再執行基類析構函數。




#include <iostream>
using namespace std;


class A{
public:
? ? A(){cout<<"A constructor"<<endl;}
? ? ~A(){cout<<"A destructor"<<endl;}
};


class B: public A{
public:
? ? B(){cout<<"B constructor"<<endl;}
? ? ~B(){cout<<"B destructor"<<endl;}
};


class C: public B{
public:
? ? C(){cout<<"C constructor"<<endl;}
? ? ~C(){cout<<"C destructor"<<endl;}
};


int main(){
? ? C test;
? ? return 0;
}


4。多繼承
例如已聲明了類A、類B和類C,那么可以這樣來聲明派生類D:
class D: public A, private B, protected C{
? ? //類D新增加的成員
}


多繼承下的構造函數


多繼承形式下的構造函數和單繼承形式基本相同,只是要在派生類的構造函數中調用多個基類的構造函數。
以上面的 A、B、C、D 類為例,D 類構造函數的寫法為:
D(形參列表): A(實參列表), B(實參列表), C(實參列表){
? ? //其他操作
}
基類構造函數的調用順序和和它們在派生類構造函數中出現的順序無關,而是和聲明派生類時基類出現的順序相同。
仍然以上面的 A、B、C、D 類為例,即使將 D 類構造函數寫作下面的形式:
D(形參列表): B(實參列表), C(實參列表), A(實參列表){
? ? //其他操作
}
那么也是先調用 A 類的構造函數,再調用 B 類構造函數,最后調用 C 類構造函數。


#include <iostream>
using namespace std;


//基類
class BaseA{
public:
? ? BaseA(int a, int b);
? ? ~BaseA();
protected:
? ? int m_a;
? ? int m_b;
};
BaseA::BaseA(int a, int b): m_a(a), m_b(b){
? ? cout<<"BaseA constructor"<<endl;
}
BaseA::~BaseA(){
? ? cout<<"BaseA destructor"<<endl;
}


//基類
class BaseB{
public:
? ? BaseB(int c, int d);
? ? ~BaseB();
protected:
? ? int m_c;
? ? int m_d;
};
BaseB::BaseB(int c, int d): m_c(c), m_d(d){
? ? cout<<"BaseB constructor"<<endl;
}
BaseB::~BaseB(){
? ? cout<<"BaseB destructor"<<endl;
}


//派生類
class Derived: public BaseA, public BaseB{
public:
? ? Derived(int a, int b, int c, int d, int e);
? ? ~Derived();
public:
? ? void show();
private:
? ? int m_e;
};
Derived::Derived(int a, int b, int c, int d, int e): BaseA(a, b), BaseB(c, d), m_e(e){
? ? cout<<"Derived constructor"<<endl;
}
Derived::~Derived(){
? ? cout<<"Derived destructor"<<endl;
}
void Derived::show(){
? ? cout<<m_a<<", "<<m_b<<", "<<m_c<<", "<<m_d<<", "<<m_e<<endl;
}


int main(){
? ? Derived obj(1, 2, 3, 4, 5);
? ? obj.show();
? ? return 0;
}






5。命名沖突
當兩個或多個基類中有同名的成員時,如果直接訪問該成員,就會產生命名沖突,
編譯器不知道使用哪個基類的成員。這個時候需要在成員名字前面加上類名和域解析符::,
以顯式地指明到底使用哪個類的成員,消除二義性。




#include <iostream>
using namespace std;


//基類
class BaseA{
public:
? ? BaseA(int a, int b);
? ? ~BaseA();
public:
? ? void show();
protected:
? ? int m_a;
? ? int m_b;
};
BaseA::BaseA(int a, int b): m_a(a), m_b(b){
? ? cout<<"BaseA constructor"<<endl;
}
BaseA::~BaseA(){
? ? cout<<"BaseA destructor"<<endl;
}
void BaseA::show(){
? ? cout<<"m_a = "<<m_a<<endl;
? ? cout<<"m_b = "<<m_b<<endl;
}


//基類
class BaseB{
public:
? ? BaseB(int c, int d);
? ? ~BaseB();
? ? void show();
protected:
? ? int m_c;
? ? int m_d;
};
BaseB::BaseB(int c, int d): m_c(c), m_d(d){
? ? cout<<"BaseB constructor"<<endl;
}
BaseB::~BaseB(){
? ? cout<<"BaseB destructor"<<endl;
}
void BaseB::show(){
? ? cout<<"m_c = "<<m_c<<endl;
? ? cout<<"m_d = "<<m_d<<endl;
}


//派生類
class Derived: public BaseA, public BaseB{
public:
? ? Derived(int a, int b, int c, int d, int e);
? ? ~Derived();
public:
? ? void display();
private:
? ? int m_e;
};
Derived::Derived(int a, int b, int c, int d, int e): BaseA(a, b), BaseB(c, d), m_e(e){
? ? cout<<"Derived constructor"<<endl;
}
Derived::~Derived(){
? ? cout<<"Derived destructor"<<endl;
}
void Derived::display(){
? ? BaseA::show(); ?//調用BaseA類的show()函數
? ? BaseB::show(); ?//調用BaseB類的show()函數
? ? cout<<"m_e = "<<m_e<<endl;
}


int main(){
? ? Derived obj(1, 2, 3, 4, 5);
? ? obj.display();
? ? return 0;
}






6。虛繼承
多繼承時很容易產生命名沖突,
類 A 派生出類 B 和類 C,類 D 繼承自類 B 和類 C,
這個時候類 A 中的成員變量和成員函數繼承到類 D 中
變成了兩份,一份來自 A-->B-->D 這條路徑,另一份來自 A-->C-->D 這條路徑。


//間接基類A
class A{
protected:
? ? int m_a;
};


//直接基類B
class B: public A{
protected:
? ? int m_b;
};


//直接基類C
class C: public A{
protected:
? ? int m_c;
};


//派生類D
class D: public B, public C{
public:
? ? void seta(int a){ m_a = a; } ?//命名沖突
? ? void setb(int b){ m_b = b; } ?//正確
? ? void setc(int c){ m_c = c; } ?//正確
? ? void setd(int d){ m_d = d; } ?//正確
private:
? ? int m_d;
};


int main(){
? ? D d;
? ? return 0;
}


為了消除歧義,我們可以在 m_a 的前面指明它具體來自哪個類:


void seta(int a){ B::m_a = a; }


6.1 虛繼承
在繼承方式前面加上 virtual 關鍵字就是虛繼承:
//間接基類A
class A{
protected:
? ? int m_a;
};


//直接基類B
class B: virtual public A{ ?//虛繼承
protected:
? ? int m_b;
};


//直接基類C
class C: virtual public A{ ?//虛繼承
protected:
? ? int m_c;
};


//派生類D
class D: public B, public C{
public:
? ? void seta(int a){ m_a = a; } ?//正確
? ? void setb(int b){ m_b = b; } ?//正確
? ? void setc(int c){ m_c = c; } ?//正確
? ? void setd(int d){ m_d = d; } ?//正確
private:
? ? int m_d;
};


int main(){
? ? D d;
? ? return 0;
}


在虛繼承中,虛基類是由最終的派生類初始化的,換句話說,
最終派生類的構造函數必須要調用虛基類的構造函數。
對最終的派生類來說,虛基類是間接基類,而不是直接基類。
這跟普通繼承不同,在普通繼承中,派生類構造函數中只能
調用直接基類的構造函數,不能調用間接基類的。


#include <iostream>
using namespace std;


//虛基類A
class A{
public:
? ? A(int a);
protected:
? ? int m_a;
};
A::A(int a): m_a(a){ }


//直接派生類B
class B: virtual public A{
public:
? ? B(int a, int b);
public:
? ? void display();
protected:
? ? int m_b;
};
B::B(int a, int b): A(a), m_b(b){ }
void B::display(){
? ? cout<<"m_a="<<m_a<<", m_b="<<m_b<<endl;
}


//直接派生類C
class C: virtual public A{
public:
? ? C(int a, int c);
public:
? ? void display();
protected:
? ? int m_c;
};
C::C(int a, int c): A(a), m_c(c){ }
void C::display(){
? ? cout<<"m_a="<<m_a<<", m_c="<<m_c<<endl;
}


//間接派生類D
class D: public B, public C{
public:
? ? D(int a, int b, int c, int d);
public:
? ? void display();
private:
? ? int m_d;
};
D::D(int a, int b, int c, int d): A(a), B(90, b), C(100, c), m_d(d){ }
void D::display(){
? ? cout<<"m_a="<<m_a<<", m_b="<<m_b<<", m_c="<<m_c<<", m_d="<<m_d<<endl;
}


int main(){
? ? B b(10, 20);
? ? b.display();
? ?
? ? C c(30, 40);
? ? c.display();


? ? D d(50, 60, 70, 80);
? ? d.display();
? ? return 0;
}



總結

以上是生活随笔為你收集整理的C++课堂笔记0716的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

国产网红在线 | 免费在线观看污网站 | 曰本三级在线 | 在线亚洲日本 | 国产精品刺激对白麻豆99 | 亚洲a在线观看 | 欧美成人h版 | 精品一区av | 欧美日在线 | 国产精品久久久久av福利动漫 | www.香蕉视频在线观看 | 免费观看全黄做爰大片国产 | 视频高清| 久久综合加勒比 | 精品久久精品久久 | 99爱视频在线观看 | 婷婷深爱网 | 探花视频在线观看 | 天天操狠狠操 | 欧美一级大片在线观看 | 日韩一区二区三区在线观看 | 日韩特黄一级欧美毛片特黄 | 91精品国产99久久久久久久 | 欧美成人在线免费观看 | 最新成人在线 | 国产黄色片免费观看 | 最近最新最好看中文视频 | 中文字幕无吗 | 黄色h在线观看 | 午夜精品一区二区三区在线 | 日韩在线观看高清 | 久久五月情影视 | 久久久婷 | 精品欧美一区二区在线观看 | 欧美午夜性 | 婷婷色在线播放 | 欧美福利视频一区 | 九九九九精品九九九九 | 日韩欧美精品在线观看 | 亚洲首页 | 婷婷成人亚洲综合国产xv88 | 黄网站色欧美视频 | 精品国产伦一区二区三区观看方式 | 婷婷丁香导航 | 干干日日| 国产高清视频在线播放一区 | 亚洲第一av在线 | 夜夜天天干 | 韩国av三级 | 国产免费黄视频在线观看 | 亚洲欧美国内爽妇网 | 成人av免费在线播放 | 一区二区三区高清在线 | 四虎影视8848aamm | 国产精品视频免费看 | 91免费高清| 日本在线观看中文字幕无线观看 | 亚洲成a人片综合在线 | 久久精品国产一区二区电影 | 欧美成人a在线 | 久久久精品综合 | 亚洲精品xx| 午夜精品999 | 免费三级影片 | 又紧又大又爽精品一区二区 | 日本少妇久久久 | 亚洲国产中文字幕在线 | 欧美日韩高清一区二区三区 | 骄小bbw搡bbbb揉bbbb | 国产a级片免费观看 | 免费视频97| 欧美一级激情 | 亚洲精品美女久久久久 | 国产一级片免费观看 | 黄色91在线观看 | 亚洲高清精品在线 | 国产中文在线字幕 | 人人爽人人爱 | 黄色电影在线免费观看 | 美女视频国产 | 亚洲精品视频免费观看 | 日韩欧美黄色网址 | 亚洲精品国产精品国自 | 99在线免费视频 | 四虎影视av | 欧美一级专区免费大片 | 少妇激情久久 | 天堂网在线视频 | av官网| 日韩电影在线观看一区 | 麻豆成人精品视频 | 视频国产在线观看18 | 国产99久久99热这里精品5 | 激情综合亚洲精品 | 日本在线观看视频一区 | 亚洲国产午夜视频 | 在线免费观看麻豆视频 | 国产黄色大片 | 中文字幕在线观看资源 | 国产精品久久艹 | 国产精品视频一二三 | 一级黄色毛片 | 成人av资源站| 国产在线传媒 | 国产小视频在线免费观看 | 在线影院av | 欧美成人黄色 | 日本中文字幕影院 | 91精品国产成 | 黄色毛片在线观看 | av免费电影在线观看 | a视频在线 | 日韩精品短视频 | 国产一二区视频 | 国产视频在线免费观看 | 999久久国精品免费观看网站 | 日韩激情视频在线 | 欧美一级特黄aaaaaa大片在线观看 | 人人插人人爱 | 成人av片在线观看 | 狠狠干夜夜操天天爽 | 99久久精品国产网站 | 97福利社| 亚洲va欧美va国产va黑人 | 久久国产精品99久久人人澡 | 久久9精品| 成人av一区二区兰花在线播放 | 激情网第四色 | 中文字幕一区二区三区久久 | 在线你懂 | 国产精品美女毛片真酒店 | 在线免费看黄色 | 久久不卡日韩美女 | 九九爱免费视频在线观看 | 亚洲一级国产 | 久久久影院一区二区三区 | 一级一片免费看 | 69国产在线观看 | 激情欧美丁香 | 2021国产在线视频 | 人人干在线观看 | 国产男女爽爽爽免费视频 | 黄色av免费看 | 91久草视频 | 国产精品片 | 国产青草视频在线观看 | 五月婷香 | 成人在线电影观看 | 国产婷婷色| 午夜精品视频一区 | 国产午夜精品一区二区三区四区 | 欧美日韩不卡一区二区三区 | 久久久久久看片 | 日韩视频免费看 | 五月婷婷av| 久久久久久久久久久久电影 | 毛片永久新网址首页 | 一区二区不卡 | 99视频国产精品免费观看 | 日韩精品高清不卡 | 成人一级电影在线观看 | 精品国产精品国产偷麻豆 | 免费一级片在线观看 | 91社区国产高清 | 91日韩在线| 精品一区二区免费 | 久草在线视频网站 | 国产无吗一区二区三区在线欢 | 久久成 | 在线观看国产高清视频 | 成人黄色av免费在线观看 | 色综合久久88色综合天天6 | 日韩特黄一级欧美毛片特黄 | 国产精品免费观看国产网曝瓜 | 激情综合网五月 | 国产精品久久久毛片 | 999久久国精品免费观看网站 | 狠狠色丁香久久婷婷综 | 99久久精品国产欧美主题曲 | 久要激情网 | 亚洲a成人v | 天天做日日做天天爽视频免费 | 国产日韩视频在线观看 | 91av福利视频 | 国产精品美乳一区二区免费 | 91视频在线免费 | 成x99人av在线www | 久久久久免费网站 | 婷婷久久一区 | a久久久久 | 天天干天天操人体 | 蜜桃麻豆www久久囤产精品 | 99婷婷狠狠成为人免费视频 | 日日夜夜精品免费观看 | 久久九九久久九九 | 国产尤物视频在线 | 黄色av高清 | www好男人 | 一区二区视频在线免费观看 | av成人在线播放 | 亚洲区另类春色综合小说校园片 | 日韩女同一区二区三区在线观看 | 久草视频在线资源站 | 精品国产一区二区三区久久久 | 亚洲综合成人婷婷小说 | 国产精品h在线观看 | 在线a亚洲视频播放在线观看 | 欧美成人黄 | 国产综合婷婷 | 天天av天天 | 精品久久网 | 亚洲综合在线五月 | 亚洲成人免费 | 免费视频久久久 | 手机在线中文字幕 | 久艹视频在线观看 | 亚洲精品综合一二三区在线观看 | 黄色片视频免费 | 亚洲精品小视频 | 一级黄色片在线观看 | 色综合天天射 | 国产99一区视频免费 | 国产护士hd高朝护士1 | 亚洲精品在线观看视频 | 91视频传媒 | 天天干天天操天天操 | 五月亚洲婷婷 | 亚洲精品男人天堂 | 国产精品女视频 | 久久99电影 | 日本爱爱免费 | 日韩欧美在线国产 | 欧美日韩中文在线观看 | 黄色毛片电影 | 91亚洲精品久久久蜜桃网站 | 国产高清精品在线观看 | 日本黄色免费观看 | 狠狠干激情 | 精品亚洲二区 | 99这里只有精品99 | 色综合色综合久久综合频道88 | 久久夜夜夜 | a天堂最新版中文在线地址 久久99久久精品国产 | 成人蜜桃| 97视频免费观看2区 亚洲视屏 | 婷婷丁香导航 | 青青五月天 | 日韩免费观看av | 久久精品中文字幕一区二区三区 | 亚洲精品ww| 黄色免费网 | 久久99久久99精品免观看软件 | 久久超级碰 | 婷婷综合久久 | 久青草视频 | 狠狠狠的干 | 国产视频日本 | 中文字幕美女免费在线 | 中日韩免费视频 | av在线h| 免费在线观看中文字幕 | 日韩欧美一区二区在线观看 | 狠狠色狠狠综合久久 | 91精品啪啪 | 国产高清在线免费 | 午夜国产一区 | 国产精品一区二区麻豆 | 日韩电影中文字幕在线观看 | 久久久久久久久毛片精品 | 日韩欧美一区二区三区在线 | 99久久婷婷国产综合亚洲 | 狠狠做深爱婷婷综合一区 | 久久综合九色综合97_ 久久久 | 亚洲禁18久人片 | 国产精品久久毛片 | 免费亚洲精品 | 国产黄色看片 | 丝袜制服综合网 | 亚洲精品网址在线观看 | 婷婷丁香激情 | 欧美韩国日本在线 | 婷婷综合视频 | 视频国产一区二区三区 | 日韩免费三级 | 久久超| 久久96国产精品久久99软件 | 精品免费视频 | 丁香六月中文字幕 | 久久久久激情 | 久久在线免费视频 | 色欧美成人精品a∨在线观看 | 又黄又刺激| 中文字幕乱码一区二区 | 激情婷婷av | 色姑娘综合网 | 亚洲女欲精品久久久久久久18 | 欧美a级在线 | 九九热免费精品视频 | 国产精品欧美精品 | 国产精品一区二区三区电影 | 天天操天天操天天操天天操天天操天天操 | 日韩中文字幕a | 99精品久久99久久久久 | 激情av资源网| 中文字幕精品在线 | 日韩在线不卡视频 | 日韩欧美高清一区二区三区 | 一区二区三区电影在线播 | 中文字幕一区二区三区在线播放 | www.五月激情.com | 亚洲成人资源网 | 中文久久精品 | 人人插人人爱 | 欧美在线视频免费 | 免费福利在线播放 | 久久99久久精品国产 | 日韩国产精品久久 | 天天操夜夜曰 | 日韩av免费一区 | 在线观看黄污 | 在线观看黄色的网站 | 国产精品久久久久久久av大片 | 久久综合久久鬼 | 亚洲国产剧情av | 黄色avwww| 91精品免费视频 | 久久精品激情 | 日韩av资源在线观看 | 91自拍视频在线观看 | 天天草天天| 亚洲视频免费在线 | 久久综合狠狠综合久久狠狠色综合 | 在线看片91 | www.天天成人国产电影 | 免费看的黄色 | 不卡电影免费在线播放一区 | 九九九九九国产 | 友田真希x88av | 日韩字幕 | 国产精选在线观看 | 日韩综合色 | 欧美一区二区在线免费看 | 日韩三级视频在线看 | 最新国产福利 | 亚洲精品在线网站 | 欧美精品999| 中文字幕观看视频 | 免费观看性生交 | 精品在线一区二区三区 | 自拍超碰在线 | 精品自拍网 | 欧美在线观看禁18 | 日本一区二区三区免费观看 | 精品国产久| 久久免费av电影 | 国产韩国日本高清视频 | 欧美精品久久久久久久久久丰满 | 丁香花五月 | 成人app在线播放 | 香蕉视频久久 | av中文字幕在线看 | 亚洲一区二区高潮无套美女 | 国产二区免费视频 | 五月婷婷在线观看视频 | 日韩一级电影在线 | 久久久精品视频网站 | 国产一级做a爱片久久毛片a | 中文字幕999 | 五月综合色 | 在线免费观看的av | 国产精品久久久久久久久久了 | 日韩中文字幕视频在线观看 | 亚洲精品自在在线观看 | 麻豆视传媒官网免费观看 | 日韩精品久久久免费观看夜色 | 欧美一区在线看 | 国产日产精品久久久久快鸭 | 国产精品免费久久 | 超碰97人人干| 一级性生活片 | av中文天堂在线 | 911精品视频 | 天天色综合三 | 欧美黑吊大战白妞欧美 | 日韩一区在线播放 | 久久久久久久久免费 | www亚洲视频 | 在线看污网站 | 婷婷激情久久 | 99热精品视| 91亚洲精品久久久中文字幕 | 久久久综合香蕉尹人综合网 | 69国产精品视频免费观看 | 久久成人麻豆午夜电影 | 久久久精品网站 | 人人干网站 | 99在线精品视频观看 | 一区二区中文字幕在线 | 国产精品一区二区三区免费视频 | 久久兔费看a级 | 色婷婷激婷婷情综天天 | 国内精品久久久久影院一蜜桃 | 丰满少妇在线观看资源站 | 中文字幕 二区 | 国产精品麻豆免费版 | 精品国产伦一区二区三区观看体验 | 久草热久草视频 | 精品一二三四视频 | 国产最新在线视频 | 日韩av电影网站在线观看 | 亚洲成年人在线播放 | 国产亚洲91 | 免费毛片aaaaaa | 欧美人交a欧美精品 | 香蕉视频在线免费 | 日韩网 | 国产精品一区二区你懂的 | 天天性天天草 | 久久综合久久综合久久综合 | 91福利小视频| 四虎成人免费影院 | 亚洲精品久久久久久久不卡四虎 | 一区二区三区日韩精品 | 国产成人99av超碰超爽 | 欧美日韩免费一区 | 国产精品免费不 | 国产伦理剧 | 亚洲一区av | 亚洲 欧美 国产 va在线影院 | 日韩高清黄色 | 日韩免费一区二区三区 | 久久在线观看 | 欧美日韩一级久久久久久免费看 | 又黄又爽又无遮挡的视频 | 福利一区视频 | 人人爽久久涩噜噜噜网站 | 日韩三区在线观看 | 国产麻豆剧传媒免费观看 | 青青河边草观看完整版高清 | 国产精品永久在线 | a级一a一级在线观看 | 在线观看日韩视频 | 日韩欧美99 | 韩国av不卡| 久久视频这里有精品 | 日韩黄色av网站 | 麻豆免费在线播放 | 日日干,天天干 | 中文在线中文资源 | 亚洲一级性 | 亚洲精品乱码久久久久久写真 | 成人欧美一区二区三区黑人麻豆 | 欧美日韩在线精品一区二区 | 国产亚洲午夜高清国产拍精品 | 久久久久五月天 | www.亚洲精品视频 | 五月天com | 亚洲精品乱码久久久久久蜜桃动漫 | 成人日韩av | 国内精品久久久久久久 | 人人插人人艹 | 免费视频 你懂的 | 日韩成人黄色av | 欧美激情精品久久久久久免费印度 | 国产亚洲精品久久久久久久久久 | 天天综合成人 | 色婷婷骚婷婷 | av中文字幕网 | 国产精品一区二区三区免费看 | 欧美黑吊大战白妞欧美 | 麻豆91网站 | 欧美日韩高清一区二区 | 日韩午夜视频在线观看 | 97av在线视频免费播放 | 天天天综合 | 最近中文字幕视频网 | 国产黑丝一区二区 | 色激情在线| 精品一区电影国产 | 欧美男男tv网站 | 九九激情视频 | 免费看国产a | 久草在线最新视频 | 天天射天天爱天天干 | 91免费在线播放 | 欧美国产日韩在线视频 | 亚洲高清在线精品 | 国产黑丝袜在线 | 日本中文乱码卡一卡二新区 | 国精产品永久999 | 久久精品九色 | 91精品久久久久久久久 | 国产一区二区不卡视频 | 韩国精品一区二区三区六区色诱 | 免费高清在线观看成人 | www.狠狠色.com | 91精品一区国产高清在线gif | 99久久综合国产精品二区 | 中文字幕丝袜 | 国产成人一区二区三区久久精品 | 国产一级视频在线观看 | 最新不卡av| 最新日韩中文字幕 | 久久桃花网 | 中国一级特黄毛片大片久久 | 久久精品8| 久草在线视频看看 | 久久综合成人网 | 亚洲精品动漫成人3d无尽在线 | 黄色官网在线观看 | 四虎成人精品永久免费av九九 | 国产精品久久久久久久免费观看 | 超碰在线个人 | www..com毛片| 天天干,夜夜操 | 欧美国产精品一区二区 | 最近日韩中文字幕中文 | 日日夜夜精品视频天天综合网 | a在线免费 | 中文字幕专区高清在线观看 | 天天操狠狠干 | 日韩va在线观看 | 久久精品国产美女 | 中文字幕4| 日韩av电影手机在线观看 | 久久久黄色免费网站 | 最近能播放的中文字幕 | 97在线观看视频国产 | 一区二区国产精品 | 国产永久免费高清在线观看视频 | 婷婷六月综合亚洲 | 日韩高清精品一区二区 | 欧美日韩精品影院 | 久久国产精品99国产 | 成人av电影在线播放 | 韩国一区二区在线观看 | 00av视频| 国产免费观看久久黄 | 四虎国产永久在线精品 | 免费看片日韩 | 国产在线高清视频 | 狠狠狠色丁香综合久久天下网 | 久久久污 | 日日夜夜精品网站 | 久久精品草 | 涩av在线 | 国产精品成人a免费观看 | 日日干狠狠操 | 欧美国产一区二区 | 亚洲成年人在线播放 | 欧美精品三级 | 九九日韩| av资源在线观看 | 中文字幕免费久久 | 国产高h视频 | 日韩美一区二区三区 | 婷婷伊人综合亚洲综合网 | 手机av网站 | 天天操狠狠操网站 | 国产高清一区二区 | 综合伊人av | av网址在线播放 | 视频在线在亚洲 | 久久成人18免费网站 | 国产一区私人高清影院 | 91热视频 | 国产精品成久久久久三级 | 免费黄色av. | 丝袜+亚洲+另类+欧美+变态 | 国产精品18久久久久vr手机版特色 | 69亚洲视频 | 在线国产黄色 | 免费成人av电影 | 黄色精品网站 | 久久国产成人午夜av影院潦草 | 久章草在线观看 | 五月天色站 | 91在线影视| 午夜国产影院 | 国产精品毛片一区视频播 | 高清免费在线视频 | 麻豆视频免费在线播放 | 超碰激情在线 | 1000部国产精品成人观看 | 欧美成人aa | 日韩精品无码一区二区三区 | 天天射天天射天天射 | 丝袜网站在线观看 | 狠狠操电影网 | 日日碰夜夜爽 | 91精品国产欧美一区二区成人 | 91在线看视频| 日韩a级黄色 | 欧亚久久 | 97热在线观看 | 激情文学丁香 | 伊人天天色 | 日韩在线观看电影 | 操少妇视频 | 欧美污网站 | 国产尤物视频在线 | 日韩免费在线一区 | 国内精品在线看 | 日韩在线一二三区 | 久艹视频免费观看 | 国产一区二区在线观看免费 | 中文在线最新版天堂 | 国产精品成人av电影 | 欧美人体xx| 午夜视频99 | 亚洲成av片人久久久 | 一级黄色片在线观看 | 国产精品私人影院 | 国产亚洲婷婷免费 | 在线观看黄av | 久久婷婷视频 | 午夜精品av在线 | 精品国产一二区 | www.久久视频 | 日韩欧美在线视频一区二区三区 | 国产高清免费在线播放 | 亚洲黄a | 久久久久久草 | 91在线中文字幕 | 黄色三级免费观看 | 色婷婷久久久综合中文字幕 | 99精品久久久久久久 | 国产成人精品久久久久蜜臀 | 国产福利91精品一区二区三区 | 中文在线免费观看 | 亚洲欧洲国产日韩精品 | www.色午夜 | 久久久久久黄色 | 国产精品福利无圣光在线一区 | 在线看小早川怜子av | 免费av 在线 | 亚洲人av免费网站 | 在线成人免费av | 亚洲精品视频在线观看免费视频 | japanese黑人亚洲人4k | 日韩中文字幕第一页 | 国产一级免费播放 | 中文字幕日韩av | 欧美性生交大片免网 | 日韩网站一区 | 男女激情网址 | 久久国产露脸精品国产 | 欧美日视频 | 国产色在线,com | 欧美一级免费在线 | 国产一区免费观看 | 五月婷在线 | 久久这里 | 午夜精品久久久久久99热明星 | 久久网站av| 成人小视频在线播放 | 国产网站色| 亚洲成人影音 | 中文字幕精品一区二区三区电影 | 亚洲精品视频在线观看免费视频 | 日韩动漫免费观看高清完整版在线观看 | 天天综合导航 | 欧美国产日韩一区二区三区 | 五月视频 | 中文一区在线观看 | 国产免费av一区二区三区 | 一本—道久久a久久精品蜜桃 | 99产精品成人啪免费网站 | 国色天香在线观看 | 欧美综合色| 国产黄a三级三级 | 人人要人人澡人人爽人人dvd | 国产最新网站 | 久草视频中文 | 日b视频在线观看网址 | 亚洲国产精品va在线 | 日本黄区免费视频观看 | 亚洲小视频在线 | 日本精品中文字幕在线观看 | 人人要人人澡人人爽人人dvd | 热re99久久精品国产66热 | 日韩在线视 | 色综合久久久久综合99 | 天天色.com | 久久av中文字幕片 | 97视频中文字幕 | 久久精品99国产精品日本 | 国产精品9区 | 亚洲一级免费观看 | 久久无码av一区二区三区电影网 | 久久一区二区三区日韩 | 欧美极品一区二区三区 | 日本黄色黄网站 | 国产特级毛片aaaaaa毛片 | 色中色资源站 | 成人在线免费小视频 | 国产成人在线免费观看 | 天天摸夜夜添 | 成人国产精品 | 精品一区二区三区久久久 | 精品久久国产一区 | 久久综合电影 | 中文字幕影片免费在线观看 | 久久精品理论 | 狠狠色丁香婷综合久久 | 日韩成人免费观看 | 免费网站看v片在线a | 成人av中文字幕 | www日韩在线观看 | 国产精品久久久网站 | 在线色资源| 久产久精国产品 | 精品久久亚洲 | 国产日韩欧美视频在线观看 | 91在线操 | 国产高清黄色 | 麻豆传媒视频观看 | 色多视频在线观看 | 中文视频在线 | 欧美日韩视频在线 | avav片| 欧美一级久久久 | 亚洲一区精品二人人爽久久 | 国产一级做a爱片久久毛片a | 亚洲成人精品国产 | 久章草在线 | 最近2019好看的中文字幕免费 | 三级黄色免费 | 亚洲激情视频在线 | 深夜免费网站 | 国产va精品免费观看 | 中国一级片在线播放 | 久久久福利视频 | 日韩中文免费视频 | 国产精品一区二区三区久久久 | 免费毛片一区二区三区久久久 | 国产精品一区二区无线 | 亚洲成年人av| 国产精品资源 | 草久在线 | 欧美午夜精品久久久久 | 天天操比 | www.午夜色.com| 一级特黄aaa大片在线观看 | 国产精品嫩草55av | 亚洲在线观看av | 国产精品刺激对白麻豆99 | www.xxxx欧美| 成年人精品 | 最近免费中文视频 | 五月激情站 | 色偷偷网站视频 | 久久免费看av | 亚洲 欧美 91 | 久久久久久国产精品 | 国产一区二区三区高清播放 | 国产日本亚洲高清 | 亚洲成aⅴ人片久久青草影院 | 久草网视频 | 美女网站在线观看 | 亚洲高清视频在线播放 | 欧美精品国产精品 | 五月婷婷香蕉 | 久久久精品欧美 | 97精品国产91久久久久久久 | 久久精品国产第一区二区三区 | 久久久久久久久久久久久国产精品 | 91丨九色丨国产女 | 欧美久久久久久久久久 | 黄色av电影一级片 | 麻豆视频一区二区 | 日b视频国产 | 久久久久久久久久久国产精品 | 婷婷丁香综合 | 国产精品12 | 一区二区三高清 | 精品久久综合 | 香蕉视频导航 | 天天色官网 | 综合网成人| 999国内精品永久免费视频 | 久久久久久久电影 | 天海翼一区二区三区免费 | 国产一级视频 | 九九在线国产视频 | 午夜精品久久久久久久99 | 国产成人久久精品77777综合 | 中文字幕精品三区 | 成人小视频在线观看免费 | 激情丁香5月 | 色99久久 | 国产69熟 | 国产高清在线永久 | 在线免费观看黄色大片 | 国产精品日韩精品 | 日日摸日日碰 | av久久在线 | 正在播放一区二区 | 波多野结衣在线播放一区 | 97视频免费观看2区 亚洲视屏 | www.888av | 欧美在线视频精品 | 免费成人在线电影 | 日韩高清精品一区二区 | 人人射人人爽 | 精品1区2区| 在线日本看片免费人成视久网 | 少妇bbbb搡bbbb桶 | 青草草在线 | 免费成人av在线看 | 成人免费视频网站 | 天天性天天草 | 精品国产乱码久久久久 | 天天干,天天射,天天操,天天摸 | 超碰国产在线观看 | 日日躁夜夜躁aaaaxxxx | 91九色在线视频观看 | 国产区网址 | 久久手机视频 | 午夜视频久久久 | 中文在线字幕观看电影 | 色av婷婷 | av在线播放网址 | 亚洲激情五月 | www五月天| 久色伊人| 狠狠色丁香婷综合久久 | 在线免费观看的av | 欧美在线观看小视频 | 日韩精品在线免费观看 | 亚洲资源片 | 久久视频这里只有精品 | a级国产乱理伦片在线播放 久久久久国产精品一区 | www.com在线观看 | 久草在线免费色站 | 色综合天天色综合 | 亚洲精选99| 欧美美女视频在线观看 | 欧洲性视频 | 欧美二区三区91 | 久久久久久国产精品免费 | 888av| 999久久久免费视频 午夜国产在线观看 | 国产永久网站 | 免费高清在线观看电视网站 | 91日韩精品视频 | 一区二区中文字幕在线观看 | 日日夜夜免费精品视频 | 99精品一区| 欧美日韩三级 | 欧美一区在线观看视频 | 亚洲综合激情网 | 黄色成人毛片 | 亚洲一级电影视频 | 久久激情久久 | 精品伊人久久久 | 人成免费网站 | 成人av网站在线播放 | 中文字幕日韩高清 | www日韩精品 | 欧美日韩一级久久久久久免费看 | 在线观看网站黄 | 欧美激情另类文学 | 精品999久久久 | 亚洲婷婷免费 | 亚洲在线日韩 | 国产原创在线 | 一区 二区电影免费在线观看 | 久久久久久国产精品久久 | 在线中文字幕播放 | 国产一线在线 | 99精品视频在线播放观看 | 国产精品女教师 | 91最新在线视频 | 爱射综合 | 久艹视频在线观看 | 久久狠狠干 | 亚洲精品一区二区三区在线观看 | www色综合| 精品久操 | 91大神电影 | 日韩在线第一区 | 免费观看日韩 | 99999精品| 在线观看国产成人av片 | 国产91国语对白在线 | 中文字幕在线观看一区 | 香蕉在线观看 | 国产精品九色 | 免费h漫在线观看 | 91伊人影院| 亚洲婷婷网 | 日批视频国产 | 一区二区伦理 | 一区国产精品 | 国产91对白在线播 | 在线观看免费视频 | 99热都是精品 | 国产成人在线免费观看 | 在线免费三级 | 国产亚洲在线 | 国产黄网在线 | 国产精品欧美久久久久无广告 | 中文字幕高清在线 | 亚洲精品午夜久久久 | 日本爽妇网 | 黄色av成人在线观看 | 美女久久一区 | 中文字幕永久在线 | 国产97av| 最新91在线视频 | 国产一级做a爱片久久毛片a | 在线观看岛国片 | 国产精品欧美久久久久无广告 | 中文字幕免费观看全部电影 | 69av视频在线 | 国产青春久久久国产毛片 | 四月婷婷在线观看 | 精品视频99| 精品国产一区二区三区免费 | 欧美日本啪啪无遮挡网站 | 国产精品久久久久永久免费看 | 久久影院亚洲 | 成人免费在线电影 | 亚洲成a人片77777kkkk1在线观看 | 91精品啪啪 | 99热在线观看| 午夜10000 | 国语对白少妇爽91 | 日韩欧美视频在线观看免费 | 热久久在线视频 | 国产女人免费看a级丨片 | 特级西西人体444是什么意思 | 色婷婷亚洲 | 亚洲理论片 | 国产系列在线观看 | 色午夜影院 | 高潮毛片无遮挡高清免费 | 夜又临在线观看 | 男女拍拍免费视频 | 337p西西人体大胆瓣开下部 | 久久久国产精品成人免费 | 久久日韩精品 | 亚洲无线视频 | 日韩成人精品 | 国产女人18毛片水真多18精品 | 欧美综合在线视频 | 狠狠狠色丁香婷婷综合久久88 | 黄色在线免费观看网站 | 日韩中字在线观看 | 国产 日韩 欧美 在线 | 亚洲二级片| 视频在线观看一区 | 西西人体4444www高清视频 | 国产美女视频网站 | 久久九九精品久久 | 欧美午夜精品久久久久久孕妇 | 黄色小网站在线观看 | 国产久草在线观看 | 欧美一区二区在线免费观看 | 亚洲最大激情中文字幕 | 欧美日本高清视频 | 精品在线视频观看 | 久久国产手机看片 | 久草视频在线新免费 | 亚洲一区二区三区91 | 五月天国产 | 又色又爽又黄 | 韩国av免费在线 | 中文字幕在线播放视频 | 日批在线观看 | 最近中文字幕免费视频 | 久草在线免费播放 | 在线播放一区 | 色婷婷亚洲综合 | 日韩在线免费小视频 | 97国产一区 | 国产精品久久久久久久久大全 | 国产在线日韩 | 香蕉视频91 | 婷婷久久久久 | 国产在线观 | 久久精品久久精品久久39 | 人人狠狠综合久久亚洲婷 | 一色屋精品视频在线观看 | 国产小视频在线免费观看视频 | 久久国产一区二区 | 粉嫩av一区二区三区四区在线观看 | 超碰在线观看av | 四虎国产永久在线精品 | 久久久久国产一区二区三区四区 | 亚洲欧美日韩在线一区二区 | 国产日韩欧美视频在线观看 | 欧美成亚洲 | 美女网站在线免费观看 | 亚洲精品乱码久久久久久按摩 | 亚洲精品tv | 一级黄网|