永发信息网

C++编程,如何解决成员函数的二义性

答案:1  悬赏:20  手机版
解决时间 2021-02-01 08:10
不修改主程序,通过重定义成员函数Show的方法解决名字冲突

#include <iostream.h>
class Base1{
protected:
int m;
public:
void Show(){cout<<m<<endl;}
};
class Base2{
protected:
int n;
public:
void Show(){cout<<n<<endl;}
};
class Derived:public Base1,public Base2{
public:
void Set(int x,int y){m=x;n=y;}
};
void main(){
Derived Obj;
Obj.Set(45,87);
Obj.Show();
Obj.Base1::Show();
Obj.Base2::Show();
}
最佳答案
在Derived类中public中加入
void Show(){cout<<"sdf"<<endl;}
就可以实现对基类1,和基类2的同名函数的覆盖!
完整代码如下:
#include <iostream.h>
class Base1{
protected:
int m;
public:
void Show(){cout<<m<<endl;}
};
class Base2{
protected:
int n;
public:
void Show(){cout<<n<<endl;}
};
class Derived:public Base1,public Base2
{
public:
void Show(){cout<<"sdf"<<endl;} //加在这里!!!!!!!!!!!
void Set(int x,int y){m=x;n=y;}
};
void main(){
Derived Obj;
Obj.Set(45,87);
Obj.Show();
Obj.Base1::Show();
Obj.Base2::Show();
}
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
永城市水利局地址有知道的么?有点事想过去
韩国组合dob的敏浩去哪儿了
坎儿井(井渠)是我国古代具有地方特色的水利
哪个平台的部落冲突是可以用第三方账号QQ登录
户口一定要在同地才可以领结婚证吗
关于感性反应,下列说法中错误的是()。A.感性
求红楼梦中王熙凤第一次出场的那段原文
傲视天地我怎么一打开尚书台 就出现错误啊 代
汉川翔宇驾校报名了退是怎么退
特别喜欢看画,求类似艺术狗,yt新媒体的软件
火灾自动报警系统中属于触发器件的有(  )
雷克萨斯IS和思铂睿哪个好
在御楠居易购平台输钱的,想要追回报案的有没
什么动物屁股推不动,什么动物屁股摸不得,像
废弃的石油醚(石油精)如何处理?
推荐资讯
奥德赛的挡位D3是做什么的?
直形冷凝管,环形冷凝管和球形冷凝管的用途区
数学期望E(X) , E(Y)与E(XY)之间的关系
1950000日元兑换人民币多少
范冰冰长的跟狐狸一样,身材跟猪一样
【整流桥的作用】整流桥的作用是什么
圆脸,和大饼脸的人适合做什么双眼皮
专业维修手机(回民街与231省道交叉口南)地址
在办公楼里面开一个小的酒吧会所可行否?有朋
偃月诗句有哪
蕃炽的意思是什么啊?知道的请说下!
宝藏世界武器怎么强化 武器强化攻略
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?