我知道虚拟继承的用法:
class A { public: void Foo() {} };
class B : public virtual A {};
class C : public virtual A {};
class D : public B, public C {};
我想知道的是
class X { public: void Bar() {} };
class Y : public virtual X {};
和
class X { public: void Bar() {} };
class Y : public X {};
主要是从执行的角度。我的意思是我什么时候不想使用虚拟继承?