c++继承父类的子类,如何调用父类的同名函数?

我是初学者所以给点注释比较好classa{public:intx;voida(){cin>>x;};}classb::publica{public:inty=1;void... 我是初学者
所以给点注释比较好

class a
{
public:
int x;
void a(){cin>>x;};
}

class b::public a
{
public:
int y=1;
void a(){cout<<y;}
}
展开
 我来答
何度千寻
2015-10-21 · TA获得超过5898个赞
知道大有可为答主
回答量:1381
采纳率:91%
帮助的人:555万
展开全部

子类调用父类的同名函数:

  1. 子类和父类返回值参数相同,函数名相同,有virtual关键字,则由对象的类型决定调用哪个函数。

  2. 子类和父类只要函数名相同,没有virtual关键字,则子类的对象没有办法调用到父类的同名函数,父类的同名函数被隐藏了,也可以强制调用父类的同名函数class::funtion_name。

  3. 子类和父类参数不同,函数名相同,有virtual关键字,则不存在多态性,子类的对象没有办法调用到父类的同名函数,父类的同名函数被隐藏了,也可以强制调用父类的同名函数class::funtion_name。

  4. 子类和父类返回值不同,参数相同,函数名相同,有virtual关键字,则编译出错error C2555编译器不允许函数名参数相同返回值不同的函数重载。

百度网友6c3ca2687
2008-03-22 · TA获得超过216个赞
知道小有建树答主
回答量:769
采纳率:0%
帮助的人:636万
展开全部
b B
B.a::a();
不知道为什么要这么做,子类覆盖了父类的方法后又要去调用他,完全没有实用的意义。上面的方法虽然可以,但是确破坏了封装。

补充两句,上面的程序错误太多了,类的成员是不能直接做初始化操作的,类结束没有给分号,与类名同名的函数为构造函数,不可以携带类型做声明等等,问题很多啊。
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
0o闭关修炼o0
2008-03-22 · TA获得超过214个赞
知道答主
回答量:109
采纳率:0%
帮助的人:86.9万
展开全部
a A;//申明父类的对象
A.a();//调用
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式