永发信息网

这个c++程序结果是什么,帮我分析下

答案:1  悬赏:60  手机版
解决时间 2021-07-30 08:47
  • 提问者网友:捧腹剧
  • 2021-07-29 15:22

#include<iostream>
#include<string>
using namespace std;
class a{
public:virtual void show(a&){cout<<"this is a"<<" "<<aa<<endl;}
string aa;
a():aa("a"){};
};

class b:public a{
public:void show(a&){cout<<"this is b"<<" "<<bb<<endl;}
string bb;
b():bb("b"){};
};

int main()
{
a* aa = new b;
aa->show(*aa);
}

最佳答案
  • 五星知识达人网友:迟山
  • 2021-07-29 16:52

A类的SHOW方法是虚函数 所以在调用的时候 会找到其子类B


所以aa->show(*aa);输出的是B类的内容。

我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯