首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下的类声明: #include using namespace std; class AA{ public: virtual void disp(){ cout
有如下的类声明: #include using namespace std; class AA{ public: virtual void disp(){ cout
admin
2021-06-10
37
问题
有如下的类声明:
#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);
plot(cc);
rb.disp();
return 0;
}
运行这个程序的输出是
选项
A、AAC
B、AAB
C、BCC
D、BCB
答案
C
解析
程序定义了类AA,成员函数disp()为虚函数;类BB公有继承AA,重新定义了disp()函数;类CC公有继承BB,同样重新定义了disp()函数;类BB中,虽然disp()未用virtual修饰,但是由虚函数性质可知,BB中的disp()函数仍然是虚函数;main()函数中,创建BB对象bb,CC对象cc,使用cc初始化BB类引用rb,然后调用plot函数;plot函数的形参是AA类的引用,通过AA类引用调用disp函数,满足多态性条件,将根据引用所指对象的类型来决定调用哪个disp函数;所以plot(bb)调用类BB中的disp函数,plot(cc)调用CC中的disp函数;输出分别为:"B"、"C";另外由于rb为BB类引用,所指对象是cc,所以运行rb.disp()时调用的是CC中的disp()函数,输出"C",综上,程序输出为:"BCC";答案为C。
转载请注明原文地址:https://jikaoti.com/ti/RDh0FFFM
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
对如下二叉树进行后序遍历的结果为()。
下列关于输入流类成员函数getline()的叙述中,错误的是
有如下程序:#include#includeusingnamespacestd;classAppliance{public:Applia
在为一个类重载下列运算符时,只能作为该类成员函数重载的运算符是()。
软件开发过程主要分为需求分析、设计、编码与测试4个阶段。其中,产生“软件需求规格说明书”的阶段是()。
下列关于函数模板的表述中,正确的是
设二叉树如下:则前序序列为()。
下面程序的运行结果是()。#includeusingnamespacestd;classTestClass{staticintn:public:TestClass()
有如下程序:#includeusingnamespacestd;classPoint{public:Point(intxx=0,intyy=0):x(xx),
请使用VC6或使用【答题】菜单打开考生文件夹proj2下的工程proj2,此工程包含有一个源程序文件proj2.cpp,其中定义了Stack类和ArrayStack类。Stack是一个用于表示数据结构“栈”的类,栈中的元素是字符型数据。Stack
随机试题
LCR为众多科学家接受是因为出现了
消毒
下面关于开瓣音的特点,不正确的是
A.伤寒常见的并发症B.伤寒最严重的并发症C.结核常见并发症D.肝硬化常见并发症E.肺炎肠穿孔
A.七福饮B.还少丹C.转呆丹D.知柏地黄丸E.河车大造丸治疗痴呆髓海不足证。应首选
支票可以分为( )。
下列项目中,能增加委托加工材料实际成本的有()。
某轮胎生产企业有职工100人,为增值税一般纳税人,2002年度销售轮胎10万套,其中开具增值税专用发票取得销售额4000万元,开具普通发票取得的销售额1170万元。2002年度购进生产原材料取得增值税专用发票,注明货款3000万元,进项税额510万元,原材
()是现场抢救中最简单、最合适的方法。
李老师是一名幼儿园的骨干教师,教育局要求她去省城参加培训学习,她应该()
最新回复
(
0
)