多重继承好理解,这里主要是对虚继承的一些摘录与总结。
由于有多重继承的存在,给我们使用类提供极大的方便。由于存在不同的类继承同一个基类,也存在一个派生对象继承不同的派生类。在此情况下,每个派生类都会存在基类的一个副本,在派生对象调用与派生类相关的对象时,会存在二义性。虚继承,就是在派生类中通过虚继承的方式,解决了二义性问题。在派生类中只会存在基类的一个副本。
特殊的初始化语句
要求最底层的派生类必须要初始化虚基类的成员,虽然该基类与派生类之间没有直接的继承关系;
如果最底层的派生类的构造函数不显示初始化虚基类,就会使用虚基类的默认构造函数;如果虚基类没有默认构造函数,则代码出错。