首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序; #include using namespace std; class B{ public: virtual void show(){cout
有如下程序; #include using namespace std; class B{ public: virtual void show(){cout
admin
2015-09-14
24
问题
有如下程序;
#include
using namespace std;
class B{
public:
virtual void show(){cout<<"B";}
};
class D:public B{
public:
void show(){cout<<"D";}
};
void fun1(B
*
ptr){ptr->show();}
void fun2(B&ref){ref.show();}
void fun3(B b){b.show();}
int main(){
B b,
*
p=new D;
D d;
fun1(p);
fun2(b);
fun3(d);
return 0;
}
程序的输出结果是( )。
选项
A、BBB
B、BBD
C、DBB
D、DBD
答案
C
解析
此题考查的是虚函数与多态性。在成员函数的声明前面加上virual关键字,即可把函数声明为虚函数;在C++中,一个基类指针可以用于指向它的派生类对象,而且通过这样的指针调用虚函数时,被调用的是该指针实际所指向的对象类的那个重定义版本。此题中,fun1()和fun2()的形参分别是基类的指针和引用,给fun1()传入的实参是指向派生类对象的指针p,fun1()将调用D类中的show()输出字符‘D’:给。fun2()出入的实参是基类对象,fun2()调用类B中的show()输出字符‘B’:fun3()由于形参是基类对象,调用的始终都是基类的show(),输出字符‘B’。故最终输出结果是DBB。
转载请注明原文地址:https://kaotiyun.com/show/kqNp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
拷贝构造函数的参数一般是
下列虚基类的声明中正确的是
有以下程序:classDate{public:Date(inty,intm,intD);{year=y;month=m;day=d;
如果一个模板声明列出了多个参数,则每个参数之间必须使用逗号隔开,每个参数都必须重复使用关键字()。
下列关于虚基类的描述中,错误的是()。
派生类的对象对它的基类成员中(),是可以访问的。
下面关于虚函数的描述中,正确的是()。
下面对于友元函数描述正确的是()。
对于重载的运算符>>,它是一个
随机试题
某案,检察院在侦查过程中,需要向某个证人,了解情况,那么检察机关可以在下列哪些地点对证人进行询问?
"Igetbywithalittlehelpfrommyfriends"isapopularlyric(抒情诗)withage-oldwisdombehindit.【B1】______peopleneedpeop
女性,60岁,于3年前确诊为肾炎,近日出现食欲减退、恶心、呕吐、头痛、高血压、贫血等症状,经检查血压20.0/13.3kPa(150/100mmHg),血红蛋白7g,血肌酐450gtool/L,血尿素氮(BUN)35.4mmol/L,尿蛋白(卅)。该患
淋巴管瘤好发部位不包括
接触执业性有害因素的劳动者是否发生职业性疾病,主要取决于
濒死病人最后消失的感觉是
东风公司1998年1月1日购入一项专利权,实际支付的买价及相关费用共计48万元。该专利权的摊销年限为5年。2000年4月1日,东风公司将该专利权的所有权对外转让,取得价款20万元。转让交易适用的营业税税率为5%。转让该专利权形成的净损失为()万
某县县政府几位主要领导干部利用职权在洪灾期间引爆某水库堤岸,淹没下游的村庄,以此取得了国家的经济救济。县检察院认为此案由检察机关立案侦查更为适宜,该县检察院需经履行的法律程序是什么?()
根据以下资料,回答问题。2006到2011年,城镇职工基本医疗保险平均实际报销比例同比增长最快的是:
关于唐朝刑事立法中自首减免刑罚的规定,下列表述错误的是()
最新回复
(
0
)