首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下的类声明: #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
67
问题
有如下的类声明:
#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/VANp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
下列SQL语句中,用于修改表结构的是
下面程序的输出结果为()。#include<iostream.h>classCStatic{public:CStatic(){val++;}stati
有关析构函数的说法不正确的是()。
带有虚基类的多层次派生类构造函数的成员初始化列表中都要列出虚基类的构造函数,这样对虚基类的子对象初始化
有以下程序#include<iostream>usingnamespacestd;classMyClass{public:MyClass();~MyClass();St
下列叙述中,不属于软件需求规格说明书的作用的是
有如下程序:#include<iostream>usingnamespacestd;classCon{charID;public:Con():ID(W){cout<<l
下列符号中能够作为C++标识符的是
以下对模板的说明,正确的是()。
当循环队列非空且队尾指针等于队头指针时,说明循环队列已满,不能进行入队运算。这种情况称为【】。
随机试题
患者,女,68岁,胸闷憋气,兼伴短暂刺痛反复发作5年,近一周因生气而诱发加重。刻下胸痛较剧,为刺痛感,发作频繁,每次持续1~2分钟,憋气闷满,心悸头晕,烦躁少寐,便干,舌暗红,苔黄腻,脉弦细,滑数。中医诊断为心血闭阻,肝气化火,兼有痰浊。处方血府逐瘀口服液
蜂窝织炎的主要致病菌为
各级重大危险源应达到的受控标准是:一级危险源在()以上,二级危险源在()以上,三级和四级危险源在()以上。
收货人栏如显示以下()字样时,提单被称为托运人指示提单。
企业的下列账证中,适用定额税率贴印花税的是()。
为维护物业管理活动的交易秩序,《物业管理条例》和《物业服务收费管理办法》均明确规定:对于欠费业主,业主委员会()
长期以来,我国城市管理执法体制弊端多多,部门林立,各管一摊。管市容的不管破坏绿化的,管破坏绿化的不管违章建设,管违章建设的不管街头无照摆摊……而许多违法问题的处理又常常涉及几个执法部门。比如,对于马路市场,工商、交通、市容等执法部门都可以管,叉都可以不管。
A.Doyouknowwhatahandicappedspaceis?B.Thesignsalwaystellyouhowlongyoucanparkthereandonwhatdays.C.Theny
为了使列表框中的项目分为多列显示,需要设置的属性为()。
以下说法中正确的是
最新回复
(
0
)