首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下的类声明: #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
40
问题
有如下的类声明:
#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/Z0fp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
有如下程序:#includeusingnamespacestd;classB{public:B(intxx):x(xx){++count;x+=10;)virtualvoids
有如下程序;#inc1ude<iostream>usingnamespacestd;voidfl(int&x,int&y){intx;x=y;y=z;}voidfZ(:intx,inty){intx;x
已知基类Employee只有一个构造函数,其定义如下:Employee::Employee(intn):id(n){}Manager是Employee的派生类,则下列对Manager的构造函数的定义中,正确的是()。
已知有数组定义chara[3][4];下列表达式中错误的是()。
下列关于模板的叙述中,正确的是()。
有如下类声明:classBase{protected;intmount;public;Base(intn=0):amount(n){}intgetAmount()c
下面程序的输出结果是()。#include<iostream>#include<math.h>usingnamespacestd;classpoint{private:do
在面向对象方法中,不属于“对象”基本特点的是()。
对于长度为n的线性表,在最坏情况下,下列各排序法所对应的比较次数中正确的是()。
除了显式定义的构造函数外,类中还有可能包含编译器自动生成的构造函数,因此一个类所拥有的构造函数的至少有
随机试题
薄板焊接采用()收尾法。
下列运动中最适合高血压的运动是
特发性血小板减少性紫癜与何种因素有关
根据《计量法》规定,计量检定规程分三类,即__________。
影响公司应收账款周转率的因素有()。
2012年上半年。石油和化工行业规模以上企业累计总产值5.89万亿元,同比增长12.5%;利润总额3535.4亿元,同比下降15.9%;主营业务收入5.60万亿元,同比增长10.4%;资产总计8.10万亿元,同比增长12.8%;从业人员648.9万人
察举制是()时期得以确立的。
请对“只要没有被法院实际判处刑罚的,就不认为是犯罪”进行辨析。
[*]
WhatdoesMr.Stevensonthinkofhisprofession?
最新回复
(
0
)