读书人

多重继承、杜撰继承

发布时间: 2012-09-14 11:53:44 作者: rapoo

多重继承、虚拟继承

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){}};第二个例子有什么问题呢?


[解决办法]
探讨

//看第二个例子
class Base
{

public:
B (int){}
B(float){}

};


class A:public virtual Base
{
public:

A(int val):Base(val){}
};


class B:public virtual Base
{
public:
B(float va……

[解决办法]
自己去看看你发的帖子,第二个例子里根本就没贴出base类,一样不一样我们怎么可能看得到。
[解决办法]
虚拟继承要求只有一份基类的实体,第二个例子,分别用int,float构造了两个基类的实体。。。。
[解决办法]
虚拟继承要求只有一份基类的实体,第二个例子,构造了int,float两个基类实体

读书人网 >C++

热点推荐