首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下的类声明: #include using namespace std; class AA{ public: virtual void disp(){eout
有如下的类声明: #include using namespace std; class AA{ public: virtual void disp(){eout
admin
2015-07-24
31
问题
有如下的类声明:
#include
using namespace std;
class AA{
public:
virtual void disp(){eout<<’A’;}
};
class BB:public AA{
public:
void disp(){eout<<’B’;}
};
class CC:public BB{
public:
virtual void disp(){eout<<’C’;}
};
void plot(AA a){a.disp();}
int mltinf){
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://jikaoti.com/ti/2QE0FFFM
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
以下哪个不是C++语言中的有效标识符?
如果一个模板声明时有类型形参表,则多个参数之间必须使用______隔开,每个参数都必须重复使用关键字______。
对于下面定义的类MyClass,请在函数f()中添加对象成员把n的值修改为50。classMyClass{public:MyClass(intx){n=x;}voidSetNum(intnl){n=nl
下面程序的运行结果为#include<iostream.h>voidmain(){chara=’3’;switch(a){case’3’:c
以下不属于运算符重载应注意的问题是()。
下列不是描述类的成员函数的是
数据库系统的核心是
如果表达式++x/y中,++是作为友元函数重载的,/是作为成员函数重载的,则该表达式还可为
在数据库的概念结构设计中,常用的描述工具是【】。
下面叙述不正确的是
随机试题
台湾第二大城市是().也是台湾最大的国际港口。有“港都”之称。
王芳解开一道数学题后,感到无比的轻松和愉快,这种感情是()
视近物不需眼调节或只作较小程度调节的是
妊娠期间,出现以小腹疼痛为主要临床表现的病证,诊断为
修约一12.65,修约间隔为1,正确的是()。
不属于委托勘察范围,发包人又未提供相关资料,致使勘察人在勘察工作中发生人身伤害和造成经济损失时,由( )承担民事责任。
甲、乙两公司签订一份建筑材料采购合同,合同履行期间因甲公司兼并乙公司致使该合同终止。该合同终止的方式是()。
Themultinationalcorporationismakingatake-over______forapropertycompany.
请根据下图所示网络结构回答下列问题。如果需要第三方软件采用无连接方式监控路由器RG的运行状态,请写出路由器RG必须支持的协议名称。
A、Tocooksomethingforhim.B、Towaitforhim.C、Togivehimadvice.D、Tohaveamealanddrinkbyhimself.D本题考查考生对细节的理解。根据关键词
最新回复
(
0
)