未来五年哈尔滨房价:C++ 我有一道题不明白想请教你们~!不知道哪里错了请大虾们指点一下

来源:百度文库 编辑:神马品牌网 时间:2024/04/30 00:30:24
C++ 我有一道题不明白想请教你们~!不知道哪里错了请大虾们指点一下
我这里是一道C++的多重继承和二义性问题.可是多重继承那里就出错不明白请大虾指点一下.
#include<iostream.h>
class sun
{
public:
int aa(int a,int b);
int c,d;
void print();
};

class bb:public sun
{
public:
void print();
};
class cc:public sun,public bb
{
public:
void prin();
};

int sun::aa(int a,int b)
{
c=a+b;
d=a*b;
return c;
}
void cc::prin()
{
cout<<d<<endl;
}

void bb::print()
{
cout<<c<<endl;
}
void sun::print()
{
cout<<d<<endl;
}

void main()
{
cc h;
h.aa(1,2);
h.sun::print();
h.bb::print();
}
二楼,你的说法,我也知道,我也看书了,可是到底要怎么做呢?
三楼,我做的是多重继承,你把我那里给注示掉了就不是多重继承了.
请各位大虾们帮小弟解决一下吧~!求求你们了~!
四楼,我的意思是~!CC继承类sun和bb两个.
五楼,难到CC不可同时继承sun和bb他俩吗?
这里还是高手多~! ^-^

class cc:public sun ,public bb

既继承子类又继承父类??
修改成class cc:public bb// ,public sun
后就可以运行了

#include<iostream.h>
class sun
{
public:
int aa(int a,int b);
int c,d;
void print();
};

class bb:public sun
{
public:
void print();
};
class cc:public bb// ,public sun
{
public:
void print();
};

int sun::aa(int a,int b)
{
c=a+b;
d=a*b;
return c;
}
void cc::print()
{
cout<<d<<endl;
}

void bb::print()
{
cout<<c<<endl;
}
void sun::print()
{
cout<<d<<endl;
}

void main()
{
cc h;
h.aa(1,2);
h.sun::print();
h.bb::print();
}

我看了一下你表达什么太难看懂了

多重继承要用虚拟继承的

CC的类继承了SUN和BB,而BB继承了SUN,
因此在SUN和BB里都有
int aa(int a,int b);
int c,d;
void print();
这些变量和函数,CC就不知道到底是继承哪一个了

问了一下MY TEACHER
上面的好像都不对哦
不过如果你还没达到大虾级别的话那还不如换一下比较简易的软件
何苦这么麻烦呢?