1.若某个继承脉络上,使用了虚继承,那么其后的所有继承都是虚继承?
比如
class A {};
class B : public A {};
class C : virtual public B {};
class D : public C {};//写法1
class D : virtual public C {};//写法2
因为C使用了虚继承,那么D的两种写法是不是就没有区别了?
2.若所有类都源自同一个基类,某个类继承了多个类,想要在此类中只有一份基类数据,那么是不是在这几条继承脉络的第二层都必须用虚继承?
比如:A 是基类 B1 、B2继承自A,C1、C2分别继承自B1、B2,……直到X1、X2 ,然后Y多重继承了X1、X2,那么要想让Y中只有一份A的数据,B1、B2就都必须是
虚继承自A?