首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下的类声明: #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
27
问题
有如下的类声明:
#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全国计算机二级
相关试题推荐
下面程序的输出是:***********5.235.23***********请将下划线上遗漏的部分补充完整。#include<iostream>#include<iomanip>
下列程序的运行结果为#include<iostream.h>voidprint(doublea){cout<<++a;}voidprint(inta,intb){
决定C++语言中函数的返回值类型的是
下面是复数类complex的定义,其中重载的运算符“+”的功能是返回一个新的复数对象,其实部等于两个操作对象实部之和,其虚部等于两个操作对象虚部之和;请补充完整:classcomplex{doublereal;
在关系模型中,把数据看成是二维表,每一个二维表称为一个【 】。
插入排序算法的主要思想是:每次从未排序序列中取出一个数据,插入到己排序序列中的正确位置。InsertSort类的成员函数sort()实现了插入排序算法。请将画线处缺失的部分补充完整。classInsertSort{public:I
若有定义语句:int a=3,b=2,c=1;,则表达式a<b?a:b的值是【 】。
类是一个支持集成的抽象数据类型,而对象是类的【】。
关于面向对象的程序设计方法,下列说法正确的是______.
以下哪个不是C++语言中的有效标识符?
随机试题
在“中国书画”模块《方寸之间——篆刻闲章与姓名印》一课的教学中,可以使用哪些教学方法?
被称为“无创性心血管造影”的心脏检查方法是
生长素分泌不足引起呆小症。
技师在制作PFM全冠时,为避免出现应力集中而破坏金-瓷结合,其金属基底表面形态应为A.金属基底不能过厚B.金属基底各轴面不能呈流线形C.金属基底表面无锐边、锐角D.金属基底表面不能为凹形E.金属基底表面不能为凸形
肺痈成痈期的治法
脘腹痞闷,食少难消,大便溏薄,倦怠乏力,苔腻微黄,脉虚弱者,治宜选用
以下公文属批办工作对象的是:
下列属于间接收集资料的方法有()。
在计算机中,条码阅读器属于
Theideaofhelpingpeoplecomesnaturallytomostofus.Ifweseeablindpersongettingoffabus,wewatchtomakesurethat
最新回复
(
0
)