首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下的类声明: #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
13
问题
有如下的类声明:
#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/wWfp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
静态数据成员在()进行初始化。
有下列程序:#includestructst{intx,y,date[2]={1,10,2,20);voidmain(){structst*p=date;printf("%d
下列选项中,不是重载函数调用时选择依据的是
有如下程序:#includeusingnamespacestd;classA{public:A(){COUI
使用VC6打开考生文件夹下的源程序文件modi2.cpp。请完成函数fun(intx),该函数功能是将x的值转换成二进制数输出到屏幕,并且在函数中调用写函数WriteFile()将结果输出到modi2.txt文件中。例如:x=13,13的二进制
下列叙述中,正确的是
数据流程图(DFD图)是()。
使用VC6打开考生文件夹下的源程序文件modi3.cpp。其中定义的类并不完整,按要求完成下列操作,将类的定义补充完整。(1)完成默认构造函数TestClass的定义,使得TestClass对象的类型为int,默认值为a=0,b=0,c=0,请在
下列字符串中,正确的C++标识符是()。
随机试题
下列选项偏离了政府公共关系原则的是()
A.心房扑动B.心房颤动C.阵发性室性心动过速D.阵发性室上性心动过速E.窦性心动过速突发突止,常无器质性心脏病的是
引起消化性溃疡的是
宗地面积变更情况不包括()。
建设项目对环境可能造成重大影响的应该编制()。
下列()最能代表一个计算机系统运行速度的指标。
科学的发展总带给人类崭新的思维方式。比如,在大数据背景下,人类的许多行为都是可以被预测的。从这个角度看,人类的行为并不是互不相关的独立事件,而是相互关联的数据网络中的一个片段。在这张数据大网之中,许多事件的相关性与其发展的规律变得有迹可寻。再比如,日常生活
1838年发明了用点、线组成的电报电码的是()。
[*]
设A=有三个线性无关的特征向量,则a=___________.
最新回复
(
0
)