首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下的类声明: #include using namespace std; class AA{ public: virtual void disp(){ cout
有如下的类声明: #include using namespace std; class AA{ public: virtual void disp(){ cout
admin
2020-06-29
21
问题
有如下的类声明:
#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/1Y8p777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
C++中运算符优先级由高到低排列正确的是
C++中的数据类型大体上可以分成三类:它们是______、______和______。
【】允许用户为类定义一种模式,使得类中的某些数据成员及某些成员函数的返回位能取任意类型。
下列关于类概念的描述中,错误的是()。
下列数组的定义中,会产生错误的是
下述关于数据库系统的叙述中正确的是
若有以下定义:inta[]={1,2,3,4,5,6,7};charcl=’b’,c2=‘2’;则数值不为2的表达式是()。
下列叙述中错误的是()。
下列有关运算符重载的表述中,正确的是
下列关于运算符重载的表述中,错误的是
随机试题
下列哪项不是骨肉瘤的典型临床表现
决定牙齿形态的重要的结构是()
患者女性,40岁,反复发作性喘息5年,加重2小时来院,查体:端坐位,大汗,双肺叩诊过清音,听诊双肺布满哮鸣音.下列哪种情况提示病情危重
个人计算机属于()。
张三2008年4月取得业余咨询收入25000元,则其适用税率为( )。
阅读材料回答下列几题:作为一种文化载体的民间传说或神话并非完全出于古人的想象,而往往以某些史前事件为事实依据。“女娲补天”神话的起源应是源于远古时期一次影响深远的灾害。最近,中南民族大学罗漫提出,著名的神话“女娲炼五色石以补苍天”,是一则典型的以
对线性表进行二分法查找,其前提条件是()。
在下列字符中,其ASCII码值最小的一个是()。
A、Heisquiteoptimisticaboutit.B、Heisquitepessimisticaboutit.C、Heisnotsureofit.D、Heisratherworriedaboutit.
A、Heisalwayslyingabouteverything.B、Healwaysmakesexcusesforbadchoices.C、Heisemotionallydependentonparents.D、He
最新回复
(
0
)