首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下的类声明: #include using namespace std; class AA{ public: virtual void disp(){ cout
有如下的类声明: #include using namespace std; class AA{ public: virtual void disp(){ cout
admin
2020-06-29
18
问题
有如下的类声明:
#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://kaotiyun.com/show/1Y8p777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
程序设计方法要求在程序设计过程中
在面向对象方法中,__________描述的是具有相似属性与操作的一组对象。
有以下程序:#include〈iestream〉usingnamespacestd;intf(intn){if(n==1)return1;else
下列程序的输出结果为()。#include<iostream.h)classTestClass{public:TestClass(){val++;}static,intval;};
如果一个模板声明列出了多个参数,则每个参数之间必须使用逗号隔开,每个参数都必须使用()关键字来修饰。
下面c++标识符中正确的是()。
以下关键字与类的访问权限无关的是
在下列标识符中,不属于文件流类的标识符是
设二叉树如下:则后序序列为
某二叉树共有845个结点,其中叶子结点有45个,则度为1的结点数为
随机试题
女,13岁,发热伴右大腿疼痛2周,查体:精神委靡,患肢呈半屈曲位,皮温高,右大腿远端有压痛。WBC:14×109/L,中性粒细胞占90%,股骨正侧位X线片可见干骺端骨质疏松及层状骨膜反应。可能性最大的诊断是
A.核质B.中介体C.性菌毛D.鞭毛E.质粒属细菌染色体外遗传物质的结构是
下列对受试者产生意外损伤的公平赔偿应遵循的原则,除外
财务管理的主要内容是:()。
按照我国有关法律的规定,有权制定安全生产部门规章的国家机关是()。
管道防腐的表面清理一般可分为()。
一级市场上ETF的申购、赎回一般适合个人投资者。()
教学理论和教学实践的关键和桥梁是()
从表面上看,动物的某些活动与人的活动具有很大的相似之处:人会榨糖,蜜蜂会酿蜜;人会织布,蜘蛛会结网;人会筑房,鸟儿会筑巢;人会收获,蚂蚁会往窝里搬食……由此而得出的正确的结论及其推论是
(2,9,6)
最新回复
(
0
)