继承与派生
/* 1.继承的概念: A =====> B 父类 子类 基类 派生类 2.继承和派生: 继承和派生描述的是同一个事情,只是看待事情的角度不一样,说法不一样罢了。 子类继承父类 父类派生子类 3.继承分类 1.单继承 2.多继承 */
继承方式
/* 单继承和多继承语法: class 父类名 { }; 1.单继承 class 子类名 : 继承权限 父类名 { }; 2.多继承 class 子类名 : 继承权限1 父类名1,继承权限2 父类名2 ...... { }; 3.继承权限 1.公有继承 public 2.私有继承 private 3.保护继承 protected */

父子关系 [Go]
/* 子类在继承父类的过程中,如果子类的number和父类的number冲突,那么默认会使用子类的number, 而父类的numbe r想要使用的话需要强调一下,它是来自父类的number e.g. // 下面是子类的对象obj obj.number // 默认是子类中的number obj.FatherClass::number // 来自父亲的number */
菱形继承

#include <iostream> using namespace std; class A { public: int n; }; class A_1 : virtual public A // 虚继承 { public: int a1; }; class A_2 : virtual public A // 虚继承 { public: int a2; }; class AA : public A_1, public A_2 { public: int aa; }; int main() { AA obj; obj.aa; obj.a1; obj.a2; obj.A_1::n; obj.A_2::n; obj.n; // 虚继承发挥的作用 return 0; }
浙公网安备 33010602011771号