首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下的类声明: #include using namespace std; class AA{ public: virtual void disp(){ cout
有如下的类声明: #include using namespace std; class AA{ public: virtual void disp(){ cout
admin
2015-07-22
54
问题
有如下的类声明:
#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/IjNp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
下列各函数的说明中,表示纯虚函数的是()。
执行下面程序后输出的结果是()。#include<iostream>usingnamespacestd;intmain(){inta[4][4]={{1,2,3,-4},{7,-12,-13,8}
用树形结构表示实体之间联系的模型是
下面程序的输出结果是【】。#include<iostream.h>#include<math.h>classpoint{doublex;doubley;public:po
下列程序的输出结果为2,请将程序补充完整。#include<iostream>usingnamespacestd;classBasc{public:【】voidfun(){cout<<1;}
下列叙述中正确的是
重载输入流运算符>>必须使用的原型为
下列语句中不是死循环的是
对如下二叉树进行后序遍历的结果为
关于纯虚函数,下列表述正确的是()。
随机试题
成人眼眶最常见的原发性良性肿瘤是
用于酶免疫技术的HRP,其RZ值应大于
白细胞减少症是指外周血白细胞数持续至少于
下列哪种因素会引起白细胞生理性降低
采用议论法撰写公文,对观点的要求是()。
乙公司向法院提出破产申请,法院予以受理。在破产申请前,乙、丙两公司之间签订的合同尚未履行完毕,破产管理人经请示法院决定继续履行合同,但拒绝丙公司关于必须提供担保的要求,管理人的作法应视为()。
学校经常举办报告和讲座,各种集会和比赛以及公益活动,这些课外活动属于()。
(2012)教育发展的规模和速度主要是由()因素决定的。
程序性知识是关于“是什么”的知识,包括各种事实、概念、原则和理论等。()
Whatisthewoman’stoneofvoicewhenshefirstseestheman?
最新回复
(
0
)