首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下的类声明: #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
24
问题
有如下的类声明:
#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全国计算机二级
相关试题推荐
要建立文件流并打开当前目录下的文件file.dat用于输入,下列语句中错误的是()。
有如下程序:#include<iostream>usingnamespacestd;intmain(){hatsum;for(inti=0;i<6;i+=3){sum=i;fo
执行下列语句段后,输出字符“*”的个数是()。for(inti=50;i>1:-i)cout
有如下程序#inc1ude<iostream>usingnamespacestd;inti=1;classFun{public:staticinti:intvalue(){
使用VC6打开考生文件夹下的源程序文件modi3.cpp,其中定义了用于表示人基本信息的类CHumanInfo,但类CHumanInfo的定义并不完整。请按要求完成下列操作,将类CHunmnInfo的定义补充完成:(1)定义私有数据成员blood
下列选项中不属于结构化程序设计原则的是()。
建立一个类对象时,系统自动调用()。
在长度为n的有序线性表中进行二分查找,最坏情况下需要比较的次数是()。
对关系S和关系R进行集合运算,结果中既包含关系S中的所有元组也包含关系R中的所有元组,这样的集合运算称为()。
随机试题
简述F分布的形态特点。
下列描述错误的是
良性高血压病的特征性病变是
德国甲公司为汽车生产企业,2009年5月,甲公司拟收购丙公司的厂房和流水线并将该整体资产与境内乙国有独资公司共同投资设立中外合资经营企业,主要业务为汽车生产。德国甲公司在与乙公司、丙公司协商后,拟订投资方案和合同中有关要点如下:(1)中外合资经营企业
试论述中体西用的历史意义和局限性。
在最坏情况下
SUPPLICANT:HUMILITY::
Iwasveryinterestedin______shetoldme.
His______directionsconfusedus;wedidnotknowwhichofthetworoadstotake.
HowtoMakePeacewithYourWorkloadA)Swamped(忙碌的),underthegun,juststrugglingtostayabovewater;whateverofficecliche
最新回复
(
0
)