首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下的类声明: #include using namespace std; class AA{ public: virtual void disp(){ cout
有如下的类声明: #include using namespace std; class AA{ public: virtual void disp(){ cout
admin
2021-09-05
36
问题
有如下的类声明:
#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/B65p777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
有如下程序:#includeusingnamespacestd;classComplex{doublere,im;public:Complex(doubler,dou
下列模板声明中,有语法错误的是()。
定义如下枚举类型:enum{Monday,Tuesday,Wednesday,Thrusday,Friday=2};,则下列语句正确的是()。
下面对对象概念描述正确的是()。
下列关于模板形参的描述中,错误的是()。
有如下程序:#includeusingnamespacestd;intmain(){int*p;*p=9;eout
负责数据库中查询操作的数据库语言是( )。
学生关系模式中有D(D#,Dn,D1,DAddr)(其属性分别为系编号、系名称、系主任和系地址)和S(S#,Sn,SG,Date,Maj,D#)(其属性分别为学号、姓名、性别、入学日期、专业和系编号)两个关系,关系S的主键(码)是S#,关系S的外键(码)是
如果派生类以protected方式继承基类,则原基类的protected成员和public成员在派生类中的访问属性分别是()。
下列与队列结构有关联的是()。
随机试题
古代婚姻“六礼”就是婚礼的六道仪式,它们包括()
在Windows操作系统中,______。
6种淋症都有特殊表现。热淋起病多急骤,小便赤,溲时灼热,常伴有血淋的特征是
溃疡性结肠炎病人粪便检查镜下可见
如图6—2一10所示,一倒置U形管,上部为油,其密度ρcal=800kg/m3,用来测定水管中的A点流速uA,若读数△h=200mm,则该点流速uA为()m/s。
招标人的权利包括()。
张某于2008年2月1日被李某打成重伤。张某向李某提出赔偿请求的最后期限为( )。
下列说法正确的有()。
根据商标法及相关规定,被异议人对商标评审委员会做出的不予注册的复审决定不服的,向人民法院起诉,下列哪种说法是正确的?
Therearesomanynewbooksaboutdyingthattherearenowspecialshelvessetasidefortheminbookshops,alongwiththehealt
最新回复
(
0
)