「已注销」 2017-10-09 10:16
浏览 245

为什么这样的调用会调用到父类中的函数?

#include
using namespace std;

class Ca{
public:
void do_down(void)
{
cout << "Ca down" << endl;
}
};

class Cb : public Ca
{
public:
void do_down(void)

{
cout << "Cb down" << endl;
}
};

class Cc : public Ca
{
public:
void do_down(void)

{
cout << "Cc down" << endl;
}
};

int main(void)
{
Ca *a1;

Cb b1;
a1 = &b1;
a1->do_down();

Cc c1;
a1 = &c1;
a1->do_down();

}
请教为什么编译运行后的结果是两个Ca down,而不是Cb down跟Cc down呢?

  • 写回答

0条回答 默认 最新

    报告相同问题?

    悬赏问题

    • ¥15 有两个非常“自以为是”烦人的问题急期待大家解决!
    • ¥30 STM32 INMP441无法读取数据
    • ¥100 求汇川机器人IRCB300控制器和示教器同版本升级固件文件升级包
    • ¥15 用visualstudio2022创建vue项目后无法启动
    • ¥15 x趋于0时tanx-sinx极限可以拆开算吗
    • ¥15 pyqt信号槽连接写法
    • ¥500 把面具戴到人脸上,请大家贡献智慧,别用大模型回答,大模型的答案没啥用
    • ¥15 任意一个散点图自己下载其js脚本文件并做成独立的案例页面,不要作在线的,要离线状态。
    • ¥15 各位 帮我看看如何写代码,打出来的图形要和如下图呈现的一样,急
    • ¥30 c#打开word开启修订并实时显示批注