首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下的类声明: #include using namespace std; class AA{ public: virtual void disp(){ cout
有如下的类声明: #include using namespace std; class AA{ public: virtual void disp(){ cout
admin
2021-02-22
31
问题
有如下的类声明:
#include
using namespace std;
class AA{
public:
virtual void disp(){ cout<<’A’; }
};
class BB: public AA{
public:
void disp(){ cout<<’B’; }
};
class CC: public BB{
public:
virtual void disp(){ cout<<’C’; }
};
void plot(AA &a){ a.disp(); }
int main(){
BB bb;
CC cc;
BB &rb=cc;
plot(bb);
plot(cc);
rb.disp();
return 0;
}
运行这个程序的输出是
选项
A、AAC
B、AAB
C、BCC
D、BCB
答案
C
解析
程序定义了类AA,成员函数disp()为虚函数;类BB公有继承AA,重新定义了disp()函数;类CC公有继承BB,同样重新定义了disp()函数;类BB中,虽然disp()未用virtual修饰,但是由虚函数性质可知,BB中的disp()函数仍然是虚函数;main()函数中,创建BB对象bb,CC对象cc,使用cc初始化BB类引用rb,然后调用plot函数;plot函数的形参是AA类的引用,通过AA类引用调用disp函数,满足多态性条件,将根据引用所指对象的类型来决定调用哪个disp函数;所以plot(bb)调用类BB中的disp函数,plot(cc)调用CC中的disp函数;输出分别为:"B"、"C";另外由于rb为BB类引用,所指对象是cc,所以运行rb.disp()时调用的是CC中的disp()函数,输出"C",综上,程序输出为:"BCC";答案为C。
转载请注明原文地址:https://kaotiyun.com/show/dmfp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
在公有派生时,派生类中定义的成员函数只能访问原基类的()。
有如下程序:#include<iostream>usingnamespacestd;classA{public:staticinta;voidinit(){a=1;}A(i
数据库设计中,用E-R图来描述信息结构但不涉及信息在计算机中的表示,它属于数据库设计的()。
建立一个类对象时,系统自动调用()。
下列关于this指针的叙述中,正确的是()。
结构化程序设计中,下面对goto语句使用描述正确的是()。
下列关于函数参数的叙述中,正确的是()。
某系统总体结构图如下图所示:该系统总体结构图的深度是()。
一间宿舍可住多个学生,则实体宿舍和学生之间的联系是( )。
随机试题
网络营销
险库是指尾矿库安全设施存在严重隐患,若不及时处理将会导致垮坝事故的尾矿库。对险库必须()。
建设项目管理“三项制度”中不包括()。
某公司6月期初存货500件,单价25元,(存货按照实际成本法核算)当月原材料收发情况如下:(1)5日,购入200件材料,增值税专用发票上注明价款5600元,增值税税率17%,材料尚未到达,签发商业承兑汇票支付货款。(2)7日,购入200件材料运抵企业验
不属于培训需求分析的方法是()。
以下外币交易日会计处理中,不正确的是()。
请阅读下面录像题的情景叙述,找出情景叙述中秘书行为及工作环境中正确或错误的地方(应至少找出15处正误点)。宏远公司总经理助理高叶办公室,办公室内没有绿色植物(特写),窗帘已拉上,遮住了外面的强光。电脑和打印机摆放有序。高叶着便装坐在办公桌前办公。
公文的主体部分包括()。
一个由于没有获得打印机而不能运行的进程处于
TheEnglishLanguageEnglishisthemost【T1】______languageintheworldandismorewidelyspokenandwrittenthan【T2】______
最新回复
(
0
)