首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下的类声明: #include using namespace std; class AA{ public: virtual void disp(){ cout
有如下的类声明: #include using namespace std; class AA{ public: virtual void disp(){ cout
admin
2015-06-27
8
问题
有如下的类声明:
#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/t9BD777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
论述伊斯兰教在统一阿拉伯半岛和形成阿拉伯帝国中的作用。(南京师范大学2016年世界通史真题)
符号检验的缺点是()
提出“准备过完满生活,是教育应该履行的功能。这种功能的履行程度,也是评定教育课程的唯一理性的判断方式”的教育家是
关于人的身心发展,下列说法错误的是
如果一家公司不打算进行新的权益融资,且资本结构保持不变,那么该公司可能实现的增长率仅有一个,即可持续增长率。()
关于法的演进,下列表述正确的是()。
无产阶级政党的基本原则是()
对于循环队列,下列叙述中正确的是()。
定义一个表示10个值为null的字符串数组,下面选项正确的是()。
在一棵二叉树的先序遍历、中序遍历、后序遍历所产生的序列中,所有叶子结点的先后顺序()。
随机试题
下列治法属于“反治”的是:()
将胆固醇从肝外组织转运到肝进行代谢的脂蛋白是
反映钢材承受反复应力作用的指标是()。
建筑材料对火灾的影响不包括()。
库存现金盘点报告表应由盘点人员和会计机构的负责人签字后才能作为重要的原始凭证。()
基金管理公司监察稽核部的主要工作包括( )。
A、 B、 C、 D、 B
根据下列资料,回答下列问题。为客观反映我国电子商务发展状况,国家统计局服务业统计司利用企业“一套房”平台,通过联网直报的方式,对30.8万家企业的电子商务情况进行了调查。2012年,调查的30.8万家企业电子商务交易额为28825.2亿元,比上年增长1
[*]
有以下程序:#include<stdio.h>main(){inti,j;for(i=3;i>1;i——){for(j=1;j<=2;j++)
最新回复
(
0
)