【发布时间】:2013-08-24 06:54:30
【问题描述】:
为了解决菱形问题,我们使用虚拟继承。
class A {}
class B : virtual Public A {}
class C : virtual Public A {}
class D : public B, Public C {}
为什么没有这样定义:
class A {}
class B : public A {}
class C : public A {}
class D : virtual public B, virtual public C {}
在 C++ 中解决钻石问题的现有解决方案背后的技术原因是什么,而不是第二个。 改变基类的继承来解决派生类中的一些问题是不是很尴尬。
如果有人能提供复杂的技术,那就太好了。 谢谢。
【问题讨论】:
标签: inheritance virtual