请教一个虚继承问题和虚继承机理

来源:百度知道 编辑:UC知道 时间:2024/06/05 12:12:37
若是:
1.
class A
{};
class B :virtual protected A
{};


2.
class B//只有这一个类
{};

两个程序的主函数中都构造一个B的对象,那么这两个对象是否完全一样。
老师说虚继承在有孙子类时,
例class C:public B (程序1中)
在构造C的对象的时候,B中的相同的量是指针指向,A中的数据成员。(为避免二义性)
(一楼答非所问)

我告诉你吧,虚继承主要是用来避免二义性的。定义类A派生出类B类C(B,C虚继承类A)在由类D同时继承类B和类C时,这样D的对象就可以直接访问类A中的成员而不引起二义性!(以上继承都不是私有继承)