首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下的类声明: #include using namespace std; class AA{ public: virtual void disp(){ cout
有如下的类声明: #include using namespace std; class AA{ public: virtual void disp(){ cout
admin
2021-05-06
19
问题
有如下的类声明:
#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);
cc.disp();
rb.disp();
return 0;
}
运行这个程序的输出是
选项
A、ACC
B、ACB
C、BCC
D、BCB
答案
A
解析
程序定义了类AA,成员函数disp是虚函数;类BB公有继承AA,重新定义了函数disp,由虚函数的性质可知,即使BB中未使用virtual修饰disp,函数disp仍然是虚函数;类CC公有继承了BB,同样重新定义了虚函数disp;main函数中定义了BB类对象bb,CC类对象cc,BB类引用rb,rb被初始化指向cc;然后调用plot函数,由于plot函数的形参是AA类对象a,不满足多态性中调用者必须要是引用或者指针类型的条件,所以无论实参是bb或cc,a.disp()调用的都是AA类中的函数disp,输出"A";cc.disp()显然调用的是类CC中的函数,输出"C";rb.disp(),由于rb是引用,指向的是类CC对象cc,所以这里由多态性可知调用的是CC类中的disp函数,输出"CC";程序输出结果为:"ACC";答案为A。
转载请注明原文地址:https://kaotiyun.com/show/RFfp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
使用VC6打开考生文件夹下的源程序文件modi2.cpp。请完成以下函数:intfactorial(intn):求出n的阶乘,必须使用递归调用。如果n小于1则返回0。注意:不能修改函数的其他部分。1#include<
使用VC6打开考生文件夹下的源程序文件modi3.cpp,其中定义了用于表示人基本信息的类CHumanInfo,但类CHumanInfo的定义并不完整。请按要求完成下列操作,将类CHunmnInfo的定义补充完成:(1)定义私有数据成员blood
如果利用C++流进行输入输出,下面的叙述中正确的是()。
下列选项中不属于结构化程序设计原则的是()。
下列关于运算符重载的叙述中,错误的是()。
在带链队列中,经过一系列正常的操作后,如果front=rear,则队列中的元素个数为
算法的空间复杂度是指()。
在C++语言系统中,用于输入数据所使用的标识符cin是
下列符号中可以用做C++标识符的是()。
请打开考生文件夹下的解决方案文件proj2,此工程中含有一个源程序文件proj2.epp。函数char*GetNum(char*src,char*buf)从sre开始扫描下一个数字字符序列,并将其作为一个字符串取出放入字符串空间buf中。函数返回扫描的终止
随机试题
除哪项外,均为车前子的功效
用于治疗老龄患畜肠燥便秘的方剂是
40岁妇女,自诉患宫颈糜烂多年,近2个月性交后白带中带血。本例为确诊,最佳的辅助检查方法应是
甲公司因不能清偿到期债务且明显缺乏清偿能力,遂于2014年3月申请破产,且法院已受理。经查,在此前半年内,甲公司针对若干债务进行了个别清偿。关于管理人的撤销权,下列哪些表述是正确的?()(司考.2014.3.74)
关于有限责任公司股东名册制度,下列哪些表述是正确的?
A、0B、1C、-1D、2B
下列各项中,主管税务机关可要求纳税人进行土地增值税清算的有()。
属于廉政保障制度的是()。
在关系模型中,把数据看成一个二维表,每一个二维表称为一个【】。
WhatisJanegoingtostudythisterm?
最新回复
(
0
)