首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下的类声明: #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
47
问题
有如下的类声明:
#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全国计算机二级
相关试题推荐
不能重载的运算符是
设inta=l,b=2;,则(a++)+b和a+++b这两个表达式的值分别为
()是给对象取一个别名,它引入了对象的同义词。
在面向对象方法中,类之间共享属性和操作的机制称为【】。
栈通常采用的两种存储结构是
下列运算符中全都可以被友元函数重载的是
下面程序的预设功能是:统计文件abc.txt中的字符个数。#include<iostream.h>#include<fstream.h>#include<stdlib.h>voidmain(){
下列字符串中可以用作C++语言标识符的是
当要使用ostrstream流类定义一个流对象并联系一个字符串时,应在文件开始处使用#include命令,使之包含()文件。
随机试题
正确选定公文的主送机关的原因。公文的主送机关的类型。
肾癌根治术切除范围包括
与牙周炎密切相关的细胞因子不包括
女性40岁,停经33天,急性右下腹疼痛一天,阵发性加剧6小时,伴恶心呕吐。妇科检查:宫颈轻举痛,宫体正常大小,子宫右侧可触及一6cm×8cm×4cm大肿块,压痛明显。首选辅助检查是
患者,男性,56岁,有肝硬化病史10余年,今日食欲明显减退,黄疸加重,今晨因剧烈咳嗽,突然呕吐咖啡色液体约1200ml,黑便2次,伴头晕、眼花、心悸,急诊入院,体检:神志清楚,面色苍白,血压80/50mmHg,心率110次/min。该患者止血治疗宜采用
( )不属于收入要素的组成内容。
下列哪一方法不属于家校教育相互配合的方法?【】
学前儿童开始能够进行最初的生活自理的年龄阶段是()。
Afterthreedaysofstayingawake,PeterTripp,aNewYorker,begantoshowsignsofmental(精神上的)breakdown(崩溃).He【C1】______
ThelatestWorldHappinessReportsaysthatprosperityisnotthemainreasonforhappiness.Ifyousufferrealhardship,youar
最新回复
(
0
)