首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下的类声明: #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
70
问题
有如下的类声明:
#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/GBfp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
下列运算符函数中肯定不属于类FunNumber的成员函数的是()。
下列选项,不正确的是()。
请使用VC6或使用【答题】菜单打开考生文件夹proj3下的工程proj3,其中定义的Matrix是一个用于表示矩阵的类。成员函数max_value的功能是求出所有矩阵元素中的最大值。例如,若有3×3矩阵则调用max_value函数,返回值为3。请编写成
软件详细设计产生的图如下:该图是()。
下面关于算法的叙述中,正确的是()。
有如下函数模板定义:template<classT>Tfunc(Tx,Ty){returnx*x+y*y;}在下列对func的调用中,错误的是()。
下列选项中,与实现运行时多态性无关的是()。
数据库设计中反映用户对数据要求的模式是()。
有如下类定义:ciassA{char*a;public:A():a(0){}A(char*aa){∥把aa所指字符串拷贝到a所指向的存储空间a=___;strcpy(a,aa
算法的空间复杂度是指()。
随机试题
前置胎盘下列哪些是正确的:
A.面横动脉B.颈内动脉C.颈外动脉D.颞浅动脉E.颌外动脉
A.脊髓B.延髓C.中脑D.下丘脑E.大脑皮层摄食行为调节中枢位于
DIC时微血管内的血栓称之为
建筑热水管道系统冲洗要求是()。[2012年10月真题]
当现有公司享有学习曲线效应时,潜在新进入者的威胁()。
被测量是标称值为100g的标准砝码质量ms,下列选项中,()可以作为用合成标准不确定度表达的测量结果。
学生对知识的理解可以由低到高分为四种水平,其中最低水平是()
A.solidB.madeupofC.equalD.fillsE.describingF.vaporG.thereforeH.
AustraliahasbeenunusualintheWesternworldinhavingaveryconservativeattitudetonaturaloralternativetherapies,acco
最新回复
(
0
)