多继承概念
一个类继承了多个类
多继承代码实例
class A:public B,public C
{
};
构造函数以及析构函数调用规则见前面博客
多重继承的概念
以下图例就是多重继承
![在这里插入图片描述](https://img-blog.csdnimg.cn/ff37578199a44ef785184f04e8ce60dc.png#pic_center)
多重继承的问题
问题一: 创建D类对象的时候,A会被构造多次(浪费了存储空间)
问题二: 二义性,通过D去调用A里面的方法有两条途径(一条通过B调用,还有一条通过C调用)
多重问题解决方案
通过虚继承就可以解决上面多重继承问题
虚继承:多个派生类保存相同基类的同名成员时,虽可以在不同的数据成员中分别存放不同的数据 ,但我们只需要相同的一份。
解决了多父类重复成员只保留一份的问题。
![在这里插入图片描述](https://img-blog.csdnimg.cn/8f8712007c374a86bc1cc878cbe0e313.png#pic_center)