注册 登录
编程论坛 C++教室

[转载]转载一个C++多重继承的问题

杨过 发布于 2007-04-13 16:47, 765 次点击

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?为什么。

4 回复
#2
yuyunliuhen2007-04-13 21:41
虚拟继承,B和C子对象共享一个A{},D子对象自己包含另一个A{},应该是构造两个A{}.
#3
aipb20072007-04-13 21:50
mark下,学习!
#4
yuyunliuhen2007-04-13 22:42
涉及到菱形结构虚继承问题,有兴趣的可以参考http://dev.yesky.com/142/2229142.shtml
#5
杨过2007-04-14 10:00

斑竹说的很对

希望大家积极发表自己的想法
不一定是对的 能思考就行

1