首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下的类声明: #include using namespace std; class AA{ public: virtual void disp(){ cout
有如下的类声明: #include using namespace std; class AA{ public: virtual void disp(){ cout
admin
2020-07-23
29
问题
有如下的类声明:
#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://www.kaotiyun.com/show/cQyp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
下列有关类继承的叙述中,错误的是()。
有如下类定义:classShape{public:___________________//虚函数Draw的声明};横线处缺失的虚函数Draw的声明是
下列语句或语句序列中错误的是
下列关于输入流类成员函数getline()的表述中,错误的是
模板对类型的参数化提供了很好的支持,因此()。
有如下程序:#includeusingnamespacestd;classA{public:A(){cout
下列选项中,不是C++关键字的是
下列有关继承和派生的叙述中,正确的是()。
设有表示公司和员工及雇佣的三张表,员工可在多家公司兼职,其中公司C(公司号,公司名,地址,注册资本,法人代表,员工数),员工S(员工号,姓名,性别,年龄,学历),雇佣E(公司号,员工号,工资,工作起始时间)。其中表C的键为公司号,表S的键为员工号,则表E的
随机试题
可对Word中的表格进行简单运算,但不可以进行______。
有关炮制对药物理化性质的影响叙述正确的是
A.人工破膜B.剖宫产C.引产D.会阴侧切E.低位产钳术孕35周,子痫,抽搐控制6小时,此时应采取的措施是()
沥青路面渗水系数测试,待水面下降至100mL刻度时,立即开始计时,()。
()是风险管理的基础。
职业人员在工作中能够为企业创造价值的前提是目标清晰和承认企业现实。
心理学是研究()的科学。
心理的实质是()
甲要发给乙一封信,为使内容不会被第三方了解和篡改,他应该
LetitbeknownthatMr.LiMing,nativeofChengdu,SichuanProvince,male,bornonApril15,1981,havingspecializedinHardw
最新回复
(
0
)