多重继承、虚拟继承
- C/C++ code
class Base{public:Base(int val){}Base(float val}{}};class A:public Base{public:A(int val):Base(val){}};class B:public Base{public:B(float val):Base(val){}};class AB:public A ,public B{public:AB(int val, float val2):B(val2),A(val){}};//看第二个例子class A:public virtual Base{public:A(int val):Base(val){}};class B:public virtual Base{public:B(float val):Base(val){}};class AB:public A ,public B{public:AB(int val, float val2):B(val2),A(val){}};第二个例子有什么问题呢?[解决办法]
[解决办法]
自己去看看你发的帖子,第二个例子里根本就没贴出base类,一样不一样我们怎么可能看得到。
[解决办法]
虚拟继承要求只有一份基类的实体,第二个例子,分别用int,float构造了两个基类的实体。。。。
[解决办法]
虚拟继承要求只有一份基类的实体,第二个例子,构造了int,float两个基类实体