首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下的类声明: #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
34
问题
有如下的类声明:
#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/zfNp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
下列程序的运行结果是#include<iostream.h>classA{inta;public:A(){a=0;}A(intaa){
在公有派生情况下,有关派生类对象和基类对象的关系,下列叙述不正确的是
下列选项中不符合良好程序设计风格的是
如下类定义中包含了构造函数和拷贝构造函数的原型声明,请在横线处填写正确的内容,使拷贝构造函数的声明完整。ClassmyClass{private:intdata;public:myClass(intvalue);//构造函数
在结构化分析使用的数据流图(DFD)中,利用【】对其中的图形元素进行确切解释。
数据库设计包括概念设计、______和物理设计。
在软件开发中,需求分析阶段可以使用的工具是( )。
类模板的模板参数()。
类是一个支持集成的抽象数据类型,而对象是类的【】。
数据库设计分为以下6个设计阶段:需求分析阶段、【】、逻计设计阶段、物理设计阶段、实施阶段、运行和维护阶段。
随机试题
设f′(2)=1,则等于()
13岁男孩,间断上腹痛两月余,常于夜间发作,伴反流,近5d来呕吐频繁,吐隔夜食,查体上腹部有振水音。最可能的诊断是
男,间歇性排果酱状大便已3年,时有"五更泻",临床疑为阿米巴痢疾
男,60岁。1小时前突发呕血500ml,既往有慢性乙肝病史。查体:P105次/分,BP95/70mmHg,轻度烦躁。目前首要的处理是
具有麻醉药品和第一类精神药品处方资格的执业医师,违反规定开具麻醉药品和第一类精神药品处方的( )。处方的调配人、核对人违反规定未对麻醉药品和第一类精神药品处方进行核对,造成严重后果的( )。
背景国家拟在中国南部沿海某地兴建一个大型战略油库基地,采用邀请招标的形式优选施工承包商。A、B、C、D、E五家大型建设公司参与投标。投标截止日期为2010年12月27日上午10点。2010年12月27日上午10点,由当地建委主持,当场举行了开标
汇总记账凭证账务处理程序既能保持账户的对应关系,又能减轻登记总分类账的工作量。()
学生进入高中阶段即进入青年前期,属于()。
注意事项1.本题本由给定资料与作答要求两部分构成。考试时限为150分钟。其中,阅读给定资料参考时限为40分钟,作答参考时限为110分钟。满分100分。2.监考人员宣布考试开始时,你才可以开始答题。3.请在题本、答题卡指定位置填写自己的姓名,填涂准考证
ChooseTHREEletters,A-G.WhichTHREEcompulsorycoursesmustbetaken?AMedicalScienceBComputingCMathematicsDLaborator
最新回复
(
0
)