首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下的类声明: #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
49
问题
有如下的类声明:
#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;intmain(){cout.fill(‘*’);cout.width(6);cout.fill(‘#’);
有如下函数模板:template<classT>Tsquare(Tx){returnx,x;}其中T是()。
在面向对象方法中,不属于“对象”基本特点的是()。
下列字符串中可以用作C++标识符的是()。
有如下语句序列:charstr[10];ci>>str;当从键盘输入’’Ilovethisgame’’时,str中的字符串是()。
有如下头文件:imf1();staticintf2();classMA{public:intf3;();staticintf4();};在所描述的函数中,具有隐含的this指针的是()。
随机试题
颌面外伤清创时只能清除的组织是
苍术具有的功效是
成年颅内压增高病人每日液体的人量不宜超出
下列各项中,()反映企业的施工生产与生产消费之间的数量关系,是施工企业生产力水平的体现。
下列选项,对于事业部制组织形式的优点叙述正确的有( )。
若选定多个连续文件,应先单击选定第一个文件,然后按下_______键,再单击要选定的最后一个文件;若要选定多个不连续的文件,可以在按下_______键的同时分别单击其他文件。
减少求助者自我探索的因素是()。(2003年12月三级真题)
判断下列句子是否符合普通话语法规范。讨论是一种亲切、智慧、民主的做法。(vip2014)
RichardⅢonceofferedhiskingdomforahorse.Today,ahandfulofdedicatednaturalistsaregivingtime,moneyandeventheoc
A、Haveasmoke.B、Fixthecar.C、Stayathome.D、Haveacupofcoffee.D本题的问题关键词是what。对话中男士提议在修车前先喝杯咖啡,得到了赞同,因此选D。
最新回复
(
0
)