1.多继承二义性产生的原因:
子类同时继承多个基类,而这些基类又有一个共同的基类,则导致在子类对象中调用父类成员时,调用不明确;即:二义性。
2.虚继承能解决的而已情况:有共同老祖宗的能解决二义性,没有共同老祖宗的不能用虚继承解决二义性,只能显示调用。eg:C c1;c1.B1::k这样调用多继承父类的成员。
3.多继承中使用多继承会增加继承子类的占用空间,因为调用了虚函数表,故:增加了4个字节的空间。
1.多继承二义性产生的原因:
子类同时继承多个基类,而这些基类又有一个共同的基类,则导致在子类对象中调用父类成员时,调用不明确;即:二义性。
2.虚继承能解决的而已情况:有共同老祖宗的能解决二义性,没有共同老祖宗的不能用虚继承解决二义性,只能显示调用。eg:C c1;c1.B1::k这样调用多继承父类的成员。
3.多继承中使用多继承会增加继承子类的占用空间,因为调用了虚函数表,故:增加了4个字节的空间。