首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下的类声明: #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
33
问题
有如下的类声明:
#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://kaotiyun.com/show/gcNp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
下面程序输出的结果为 #include"iostream.h" classA { public: A(){cout<<"CLASSA"<<end1;} ~A(){} }; class
下面程序错误的语句是 #include"iostream.h" ①voidmain() ②{ ③intA=0; ④int&B; ⑤B=A; ⑥cout<<B; ⑦
关于continue语句叙述不正确的是
下列叙述中,不属于测试的特征的是
定义如下一维数组:inta[5],*p;,则下列描述错误的是()。
若有以下定义和语句:ints[4][5],(*ps)[5];ps=s;则对s数组元素的正确引用形式是()。
下面关于运算符重载的描述错误的是
设有定义inta=1;floatf=1.2;charc=’a’;,则下列表示错误的是
请在mian函数中填空使下面程序的输出结果为11。 #include<iostream.h> classA {private: inta; intb; public: A():a(0),b(1){
下列变量定义中,合法的是()。
随机试题
法律、法规授权的组织实施行政处罚的法律后果由()承担。
焊接结构质量检查报告的焊接资料部分不包括()的内容。
在Excel2010中,若希望只显示“学生成绩表”中“计算机基础”课程成绩在80分以上的记录,则可使用()功能实现。
人体通过“反射弧”对外界刺激做出反应的方式称为
爬行的通货膨胀会对经济构成明显的不利影响。()
下列关于变动制造费用的差异分析的说法中,不正确的是()。
复利计算时,利息的计算公式是()。
Arecentparliamentaryreportblamesthegovernmentandthefoodindustryforthegrowthinobesity.TheDepartmentofTransport
【B1】【B9】
HowtoApproachDiscursiveWritingHowtoimprovetheeffectivenessofstudents’writing?Therearesixstageswhichshouldbe
最新回复
(
0
)