- 1.继承.
语法:class 子类名字:继承方式 父类名字
子类也称派生类
父类也称基类
class BasePage{
public:
void head(){
cout<<"头部"< } void footer(){ cout<<"尾部"< } }; //继承 class Java:public BasePage{ void content(){ cout<<"Java学科视频"< } } class Base1{ public : int A; protect: int B; private: int C; } class Te1 :public Base1{ A=100; B = 100; //C = 100;// 报错 } class Te2 : protect Base1{ A=100; B=100; //C=100; } class Te3:private Base1{ A=100; B=100; //C=100;// } //继承public方式,权限变化:public :A,protect:B,private:C void test01(){ Te1 t; t.A=200; //t.B=300;//报错 //t.C=400;//报错 } //继承protect方式,权限变化:protect:A,protect:B,private:C void test02(){ Te2 t; //t.A=200;//报错 //t.B=300;//报错 //t.C=400;//报错 } //继承private方式,权限变化:private:A,private:B,private:C void test03(){ Te3 t; //t.A=200;//报错 //t.B=300;//报错 //t.C=400;//报错 } 总结: 子类对象可以直接访问到子类中同名成员 子类对象加作用域可以访问到父类同名成员:s.m_A -> 加父类作用域 s.Base::m_A 当子类和父类拥有同名的成员函数,子类会隐藏父类中同名成员函数,加作用域可以访问到父类中同名函数 语法:class 子类:继承方式 父类1, 继承方式 父类2 ... class Son:public Base1,public Base2{ } 动物 羊 驼 羊驼 cl /d1 reportSingleClassLayoutSheepTuo "08 菱形继承.cpp" 解决菱形继承出现的多个开销问题,用虚继承 class Sheep :virtual public Animal{} 3.多态 早绑定和晚绑定,就是不加virtual和加入virtual的区别



