首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下的类声明: #include using namespace std; class AA{ public: virtual void disp(){ cout
有如下的类声明: #include using namespace std; class AA{ public: virtual void disp(){ cout
admin
2021-06-10
34
问题
有如下的类声明:
#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/43fp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
必须用一对大括号括起来的程序段是()。
判断一个字符串是否是回文串的递归函数定义如下:boolhuiwen(strings){intn=s.length();if(n
要利用C++流实现输入输出的各种格式控制,必须在程序中包含的头文件是
使用VC6打开考生文件夹下的源程序文件modil.cpp,该程序运行时有错,请改正其中的错误,使程序正常运行,并使程序输出的结果为:TestClass2TestClass3注意:不要改动main函数,不能增行或删行,也不能更改
数据字典(DD)所定义的对象都包含于
结构化程序所要求的基本结构不包括( )。
在类的定义中,用于为对象分配内存空间,对类的数据成员进行初始化并执行其他内部管理操作的函数是()。
下面不属于软件设计阶段任务的是
将E-R图转换到关系模式时,实体与联系都可以表示成()。
一个教师可讲授多门课程,一门课程可由多个教师讲授。则实体教师和课程间的联系是( )。
随机试题
对焊接过程中使用的定位器有什么技术要求?
下列哪个不属于T细胞亚群
产妇23岁,孕1产1,妊娠39周头位顺产,产后恢复良好,以下产后检查时间错误的是
锅炉受热面施工中横卧式组合方式的缺点是()。
英译汉“b/l;l/c”最确切的翻译是( )。
《证券公司监督管理条例》规定,证券公司应当自每一会计年度结束之日起()个月内,向中国证监会报送年度报告;自每月结束之日起7个工作日内,报送月度报告。
动态资产配置策略的主要利润机制是()。
Hitchhiking(搭车旅游)WhenIwasinmyteens(十几岁)and20s,hitchhikingwasamainformoflong-distancetransport.Thekindnessor
Wheredoesthisconversationtakeplace?
MybrotherlikespopmusiC.SohecanwatchCCTVChannel3thisafternoon.MymotherlikeswatchingTVplays.Shewantstowatch
最新回复
(
0
)