首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下的类声明: #include using namespace std; class AA{ public: virtual void disp(){ cout
有如下的类声明: #include using namespace std; class AA{ public: virtual void disp(){ cout
admin
2020-06-29
29
问题
有如下的类声明:
#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/1Y8p777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
下列程序的输出结果为2,请将程序补充完整。usingnamespacestd;classBasepublic:【】voidfun(){cout<<1;}};classDerived:p
C++中封装性、继承性和【】是面向对象思想的主要特征。
下面关于C++语言变量的叙述错误的是
下列数组的定义中,会产生错误的是
关系数据库的关系演算语言是以【】为基础的DML语言。
下列函数的功能是判断字符串str是否对称,对称则返回true,否则返回false。请在画线处填上适当内容,实现该函数。boolfun(char*str)}inti:0,j=0;while(str[j])(6);
下列有关运算符重载的表述中,正确的是
设二叉树如下:则前序序列为
随机试题
Iboughtadressforonlytendollars.Itwasareal________.
(2012年4月)申请登记集成电路布图设计专有权的受理机构是()。
A.初次出血时间早,出血量多B.初次出血时间晚,出血量少C.初次出血时间晚,出血量多D.初次出血时间早晚不定,出血量可多可少E.初次出血时间早,出血量少边缘性前置胎盘()
清理呼吸道无效的相关因素不包括
A.3天B.7~14天C.10~14天D.7天E.5~7天妇科恶性肿瘤患者肠道准备从术前开始的时间是
制备微囊时可作为生物可降解性合成高分子囊材的为
会计软件应该能对在转账凭证出现“现金”科目做出提示。()
通过公开程序,邀请供应商提供资格文件,只有通过资格审查的供应商才能参加后续招标,这种采购方式称为()。
根据《中华人民共和国公司法》的规定,下列有关公司组织机构的表述中,正确的是()。
"Youlooklikeyou’vehadatoothacheforthelastsixweeks,"saidNancy."AreyouOK?""Oh,sure.I’mjusttired,"Ilied,unw
最新回复
(
0
)