新微赢技术网
标题:
[求助]实在不好意思,请达人帮忙看看错在哪里。
[打印本页]
作者:
逍遥的雨夜
时间:
2009-11-4 02:21
标题:
[求助]实在不好意思,请达人帮忙看看错在哪里。
#include <iostream.h>
class base {
protected:
int a;
public:
base( )
{ a=5; cout<<"base a="<<a<<endl; }
};
class base1:virtual base {
public: base1( )
{ a=a+10; cout<<"base1 a="<<a<<endl; }
};
class base2:virtual base {
public: base2( )
{ a=a+20; cout<<"base2 a="<<a<<endl; }
};
class derived :public base1,public base2 {
public:
derived( )
{ cout<<"derived中a="<<a<<endl;
}
};
void main( )
{
derived obj;
作者:
城市之肺
时间:
2009-11-4 02:21
virtual public base,不是virtual base
作者:
云飞
时间:
2009-11-4 02:21
a是保护的,应该是virtual protect base
作者:
水中de云
时间:
2009-11-4 02:21
你这程序本身没意义的,受保护继承方法是不能在类外使用的
作者:
︷起↘嚸℡
时间:
2009-11-4 02:21
按照二楼的改法就通过编译了
作者:
逍遥◆爱你
时间:
2009-11-4 02:21
public 继承不改变基类的protected
基类的protect的成员在子类中仍然是protected
可以调用
你可以看看书
欢迎光临 新微赢技术网 (http://bbs.weiying.cn/)
Powered by Discuz! X3.2