子类继承基类,将得到其所有类成员。继承方式不同,访问控制也不同。public、protected、private三种继承方式,相应三种类成员的权限共产生3x3 = 9种访问控制属性(记忆:1、没有哪种继承类型能访问基类private的成员。2、public继承不改变类成员访问属性。3、protected和private把剩下的其他成员改造成和自己一样)。构造函数和拷贝构造函数同样使用冒号语法,调用基类的构造函数。组合与继承的关系。组合是A类成员中有B,继承是B是A的子类。主要问题在于这两个类的性质。组合表示A类中有B,继承表示B本质就是A(只是多了点别的什么东西)。分清类的性质,合理使用继承、组合。多继承就是继承多个基类,有他们的所有成员。如果出现成员名冲突,要在继承冲突的基类时加virtual虚继承。这时构造顺序变成虚拟基类构造函数->基类构造函数->成员对象构造函数(如果有)->自己的构造函数。书上建议尽量避免多继承。
C++继承纸上谈兵
![](https://img-home.csdnimg.cn/images/20240711042549.png)