首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下的类声明: #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
51
问题
有如下的类声明:
#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://www.kaotiyun.com/show/dmfp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
请打开考生文件夹下的解决方案文件proj3,其中声明的是一个人员信息类,补充编制程序,使其功能完整。在main函数中给出了一组测试数据,此种情况下程序的输出应该是:Zhang20Tsinghua。注意:只能在函数address_change的“//***
请打开考生文件夹下的解决方案文件proj2,该工程中含有一个源程序文件proj2.cpp。其中定义了类Set和用于测试该类的主函数main。类Set是一个用于描述字符集合的类,在该字符集合中,元素不能重复(将“a”和“A”视为不同元素),元素最大个数为10
有如下程序:#include<iostream>usingnamespacestd;intmain(){int*p;*p=9;cout<<’’Thevalueatp:’’<<*p;
关于运算符重载,下列表述中正确的是()。
使用VC6打开考生文件夹下的源程序文件modi1.cpp,但该程序运行时有错,请改正main()函数中的错误,使程序的输出结果如下:Constructor.Defaultconstructor.Areais12
使用VC6打开考生文件夹下的源程序文件modi1.cpp,但该程序运行时有错,请改正程序中的错误,使该程序的输出结果为:100注意:错误的语句在//******error******的下面,修改该语句即可。1#include<io
下列有关类继承的叙述中,错误的是()。
数据库设计中反映用户对数据要求的模式是()。
在E一R图中,用来表示实体联系的图形是()。
在满足实体完整性约束的条件下()。
随机试题
急性肾小球肾炎是哪种病因引起的感染后免疫反应()
银行业监督管理机构查询涉嫌金融违法的银行业金融机构及其工作人员以及关联行为人的账户必须经()批准。
造成交通事故后逃逸,尚不构成犯罪的一次记12分。
鉴别慢性肾盂肾炎与慢性肾小球肾炎有效的是
关于市场细分的说法,正确的有()。
WhichofthefollowingisNOTasuitablepre-readingactivity?
渤海为中国的内海,黄海、东海和南海是()的边缘海。
皇览揆余初度兮,肇锡余以嘉名;名余曰正则兮,字余曰灵均。(《离骚》)
曲线的弧长为_________。
设有关系R(A,B,C),在下列的等式中,()是不成立的。
最新回复
(
0
)