首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下的类声明: #include using namespace std; class AA{ public: virtual void disp(){ cout
有如下的类声明: #include using namespace std; class AA{ public: virtual void disp(){ cout
admin
2015-07-22
58
问题
有如下的类声明:
#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/zfNp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
下列程序的输出结果为#include<iostream.h>voidmain(){char*a[]={"hello","the","world"};char**pa=a;
如果进栈序列为e1,e2,e3,e4,则可能的出栈序列是
如果利用C++流进行输入输出,下面的叙述中正确的是
执行下列语句段后,输出字符“*”的个数是 for(int i=50;i>1;i-=2)count<’*’;
建立一个有成员对象的派生类对象时,各构造函数体的执行次序为( )。
下列字符串中不能作为C++标识符使用的是( )。
栈和队列通常采用的存储结构是【】。
执行语句序列ofstreamoutfile("DATA.DAT");if(...)cout<<"OK";elsecout<<"FAIL";后,如果文件打开成功,显示"OK",否则就显示"FAIL"。由此可知,上面if语句的...
将代数式转换成程序设计中的表达式为【】。
一个项目具有一个项目主管,一个项目主管可管理多个项目,则实体“项目主管”与实体“项目”的联系属于【】的联系。
随机试题
领导生命周期理论模型不包括以下哪种领导类型?()
可以出现机化过程的有
属于镇静催眠药的是()
下列心电图表现中,属于确诊室性心动过速最重要的依据是
从事生产、经营的纳税人应当自领取税务登记证件之日起( )日内,将其财务、会计制度或财务、会计处理办法和会计核算软件报送税务机关备案。
下列关于商业助学贷款贷后检查的说法,错误的是()。(2010年下半年)
在双代号网络计划中,M工作有三项紧前工作,其最早开始时间分别为第6、8、9周,其持续时间分别为3、6、2周,则M工作的最早开始时间是第()周。
对收益性物业来说,空置率提高将会导致()等后果。
某单位去年的总收入比总支出多50万元,今年比去年的总收入增加了10%,总支出节约了20%,如果今年的总收入比总支出多100万元,那么去年的总收入和总支出各是多少万元?()
Usually,therearetworeasonstopursuescientificknowledge:forthesakeoftheknowledgeitself,andforthepracticalu
最新回复
(
0
)