首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序: #include using namespace std; class B { public: virtual void show() { cout
有如下程序: #include using namespace std; class B { public: virtual void show() { cout
admin
2020-07-23
55
问题
有如下程序:
#include
using namespace std;
class B {
public:
virtual void show() { cout<<"B"; }
};
class D: public B {
public:
void show() { cout<<"D"; }
};
void fun1(B *ptr) { ptr->show(); }
void fun2(B &ref) { ref.show(); }
void fun3(B b) { b.show(); }
int main()
{
B b,*p=new D;
D d;
fun1(p);
fun2(b);
fun3(d);
delete p;
return 0;
}
执行这个程序的输出结果是( )。
选项
A、BBB
B、BBD
C、DBB
D、DBD
答案
C
解析
在某基类中声明为virtual并在一个或多个派生类中被重新定义的成员函数,本题中定义类B的对象b、对象指针*p=newD以及类D的对象d;执行fun1会调用派生类的show函数,因为show函数为虚函数,而调用fun2、fun3仍然为基类的show函数,所以本题答案为C。
转载请注明原文地址:https://kaotiyun.com/show/SQyp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
有如下程序:#includeusingnamespacestd;inti=1;classFun{public:staticinti;intvalue(){return
下列关于this指针的描述中,正确的是()。
下列关于函数模板的表述中,正确的是
下列字符串中,不可以用做C++标识符的是()。
下列有关模板的叙述中,正确的是()。
在软件开发中,需求分析阶段产生的主要文档是()。
请使用VC6或使用【答题】菜单打开考生文件夹proj2下的工程proj2,其中有矩阵基类MatrixBase、矩阵类Matrix和单位阵UnitMatrix的定义,还有main函数的定义。请在横线处填写适当的代码并删除横线,以实现上述类定义。此程序的正确输
随机试题
简述出现参与式管理思潮的原因。
ScienceFiction①Amongstthemostpopularbooksbeingwrittentodayarethosewhichareusuallyclassifiedasscienceficti
下列选项中,不属于临床用血管理办法规定对临床用血管理的医务人员职责的是
一位医师在为其患者进行角膜移植手术的前一夜,发现备用的眼球已经失效,于是到太平间看是否有尸体能供角膜移植之用,恰巧有一尸体。考虑到征求死者家属意见很可能会遭到拒绝,而且时间也紧迫,于是便取出了死者的一侧眼球,然后用义眼代替。尸体火化前,死者家属发现此事,便
小丽认为自己考试成绩不理想是因为试题太难。依据维纳的归因理论,这属于()。
社会发展的根本动力是社会基本矛盾。()
纵使在美国这样一个号称言论自由的国家,也不一定言论自由。据媒体报道,美国教育部下属机构国家教育统计中心网站在“每日语录”一栏中曾引用毛泽东“对自己,学而不厌;对人家,诲而不倦”的名言,该网站因此遭到猛烈抨击。有美国参议员表示,教育部必须解释为何引用“共
Elaine,Justin’smom,hadsetdownthehouseruleswithself-confidentassurance.Onlythemostobtusepersonwouldhavefailed
Inpolitics,inthecourts,evenontheubiquitousTVtalkshow,itisgoodformtopickanintellectualfight.Peopleattackeac
Wecanlearnfromthepassagethat______.ThemajorreasonforOxfordUniversity’slackoffundingisthat______.
最新回复
(
0
)