首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下的类声明: #include using namespace std; class AA{ public: virtual void disp(){ cout
有如下的类声明: #include using namespace std; class AA{ public: virtual void disp(){ cout
admin
2021-05-06
59
问题
有如下的类声明:
#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/RFfp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
下列描述中,错误的是()。
下列是重载乘法运算符的函数原型声明,其中错误的是()。
使用VC6打开考生文件夹下的源程序文件modi3.cpp,要求编写一个CMyShape类,含有求面积求周长等纯虚函数。然后编写一个CMyRectangle类和CMyCircle类继承CMyShape,并实现求面积、求周长的两个函数。在main()函数中测试
若已定义了类Vehicle,则下列派生类定义中;错误的是()。
对长度为n的线性表作快速排序,在最坏情况下,比较次数为()。
在长度为n的有序线性表中进行二分查找,最坏情况下需要比较的次数是()。
数据库设计中,用E-R图来描述信息结构但不涉及信息在计算机中的表示,它属于数据库设计的
算法的空间复杂度是指()。
下列字符串中不能作为C++标识符使用的是()。
下列对队列的描述中正确的是()。
随机试题
工程咨询单位的主要营销手段有()。
资金的时间价值是客观存在的,生产经营的一项基本原则就是充分利用资金的时间价值并最大限度地获得其时间价值,这就要求()。
下列关于投资型保险产品的表述,正确的是()。
登记账簿必须以()为依据,并定期进行结账、对账。
一居民楼内电线的负荷只能允许同时使用6台空调。现有8户人家各安装了一台空调。问在一天(24小时)内,平均每户(台)最多可使用空调多少小时?()
在美国所有捐献的血液中有45%是O型血;由于O型血适用于任何人,所以在没有时间测定患者是何种血型的危急时刻,O型血是不可缺少的。O型血是唯一可与其他任何血型相融的血型,所以它可以输给任何受血者。然而正是由于这一特殊用途,O型血长期处于短缺状态。如果上文陈述
菱形中的较小的内角是60°.(1)菱形的一条对角线与边长相等(2)菱形的一条对角线是边长的倍
用高级语言编写的程序称之为()。
ThefinalstepofSQ3Risrevision.Revisionshouldnotberegardedassomethingtobeundertakenjustbeforeexaminations.【76】O
【B1】【B17】
最新回复
(
0
)