一个虚函数的有关问题,想
一个虚函数的问题,想请教大家.
class A{};
class B:virtual public A{};
class C:virtual public A{};
class D:public A{};
class E:public B,public C,public D{};
问题:假设有以上类结构,那么创建一个类型为E的变量,会构造几个A?为什么?
------解决方案--------------------
2 ?
------解决方案--------------------
两个。
B和C子对象共享一个A,D子对象自己包含另一个A。
google 虚拟继承
------解决方案--------------------
在构造函数里加打印,自己数一下就可以了
------解决方案--------------------
两个
其中有个菱形继承,只能算一个
class A{};
class B:virtual public A{};
class C:virtual public A{};
class D:public A{};
class E:public B,public C,public D{};
问题:假设有以上类结构,那么创建一个类型为E的变量,会构造几个A?为什么?
------解决方案--------------------
2 ?
------解决方案--------------------
两个。
B和C子对象共享一个A,D子对象自己包含另一个A。
google 虚拟继承
------解决方案--------------------
在构造函数里加打印,自己数一下就可以了
------解决方案--------------------
两个
其中有个菱形继承,只能算一个