多继承:指一个派生类有两个或两个以上间接基类 多继承派生类中,可能存在多个间接基类对象。 引入虚基类解决这一问题。 虚基类的定义示例: class L{ …… public: int next; ………} class B: virtual public L{……}; class B: virtual public L{……}; class C: public A, public B{ public: void f(){next=0;}//派生类中的基类对象只有一个实例。 }; 虚基类构造函数的调用问题: 1、虚基类构造函数的调用在非虚基类之前 2、若同一层中包含多个虚基类,虚基类的构造函数按声明的持续调用3、若虚基类邮费虚基类派生,则遵守先调用基类构造函数,再调用派生类构造函数的规则。使用虚基类可以消除二义性。

评论