首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下的类声明: #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
62
问题
有如下的类声明:
#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;template<typenameT>Ttotal(T*datA){Ts=0;
若a=12,b=14,c=0,则表达式“((y=(a>B)?a:B)>C)?y:c”的值为【】。
对于类定义classA{public:virtualvoidfunc1(){}voidfunc2(){}};classB:publicA{public:
下面程序的运行结果是#include<iostream.h>classbase{protected:inta;public:base(){cout<<"0";}};
下列叙述中正确的是
虚函数必须是类的【】。
有如下类的定义。空格处的语句是classMyClass{______intx,y;public:MyClass(inta=0,intb=0){x=a;y=b;
下列叙述中正确的是
对下列二叉树进行中序遍历的结果是
随机试题
能顺木之天,以致其性焉尔。天:致其性:
Ihaven’tdecidedwhichhotel________.
阎某深夜听见自己家的狗一阵狂叫,怀疑有小偷潜入,便起身拿起猎枪外出查看,朦胧夜色中见有几个人走过来,李某便向这几个人开枪,击中其中一个巡逻的警察,致其死亡。关于阎某的罪过形式,下列哪一选项是正确的?()
以下对抽象行政行为的理解正确的是哪项?
贯彻稳定和发展经济职能的财政措施不包括()。
甲公司拟建一生产项目,预计投产第一年的流动资产需用额为35万元,流动负债需用额为15万元;预计第二年流动资金需用额为10万元,流动负债需用额为5万元,以后各年与此相同。则下列表述中,正确的有()。
学习一种新材料时运用联想、假借意义,对记忆很有帮助的这种方法是()。
下列叙述正确的是()。
在我国,有关法定继承人的顺序,错误的说法是()。
无差异市场营销:指企业不考虑各子市场的特性,而只注重市场的共性,决定只推出单一的产品,运用单一的市场营销组合,力求在一定程度上适合尽可能多的顾客需求。根据上述定义,下列属于无差异市场营销的是()
最新回复
(
0
)