如果我有像虚拟继承
class Base1 {};
class Base2 {};
class Derived : public Base1, public Base2 {};
然后构造函数调用对制作的派生类对象顺序
Base1
Base2
即他们的顺序出现在
class Derived : public Base1, public Base2 {};
但如果我将其更改为 类Derived:public Base1,virtual public Base2 {}; 然后构造函数调用的顺序变为
Base2
Base1
我无法理解为什么会是这样?
另一个简单的疑问: 什么是虚拟继承Base1的含义和目的。
11个月你在SO上,你仍然无法正确格式化你的帖子? – BlackBear 2012-04-24 12:53:51
一些帮助http://gotw.ca/gotw/080.htm – DumbCoder 2012-04-24 12:55:29
我假设你有一个错字,因为你声明'Base1'和'Base2',然后使用'Base'和'Base1'。 – Cornstalks 2012-04-24 12:55:48