【发布时间】:2012-07-10 15:57:05
【问题描述】:
考虑以下显示多级继承的示例代码:
案例1:这里derived1类通过虚继承从base类派生,derived2类直接从derived1类派生。
class base
{
};
class derived1 : virtual public base
{
};
class derived2 : public derived1
{
};
案例 2 :与案例 1 相同,只是不涉及虚拟继承
class base
{
};
class derived1 : public base // no virtual inheritance
{
};
class derived2 : public derived1
{
};
假设我在这两种情况下都创建了一个 derived2 类的对象。
Case1 和Case2 在包含
derived2对象中的子对象方面有何不同?Case1 是否比 Case2 重要?
PS:我很清楚虚拟基类在多重继承期间的重要性。
【问题讨论】:
-
+1 关于问题,因为我不得不投票赞成 Charles Bailey 的回答。
标签: c++ inheritance virtual virtual-inheritance