首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序: #include using namespace std; class B{ public: virtual void show(){cout
有如下程序: #include using namespace std; class B{ public: virtual void show(){cout
admin
2020-07-30
18
问题
有如下程序:
#include
using namespace std;
class B{
public:
virtual void show(){cout<<“B”;}
);
class D:public B{
public:
void show(){tout<<“D”;)
);
void fun 1(B*ptr){ptr->show();)
void fun2(B&ref){ref.showO;}
void fun3(B b){b.show();)
int main(){
B b,*p=new D;
D d;
funl(p);
fun2(b);
fun3(d);
return O:
}
程序的输出结果是( )。
选项
A、BBB
B、BBD
C、DBB
D、DBD
答案
C
解析
此题考查的是虚函数与多态性。在成员函数的声明前面加上virual关键字,即可把函数声明为虚函数;在c++中,一个基类指针可以用于指向它的派生类对象,而且通过这样的指针调用虚函数时,被调用的是该指针实际所指向的对象类的那个重定义版本。此题中,funl()和fun2()的形参分别是基类的指针和引用,给funl()传入的实参是指向派生类对象的指针p,funl()将调用D类中的show()输出字符‘D’;给fun2()出入的实参是基类对象,fun2()调用类B中的show()输出字符‘B’;fun3()由于形参是基类对象,调用的始终都是基类的show(),输出字符‘B’。故最终输出结果是DBB。
转载请注明原文地址:https://kaotiyun.com/show/aDyp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
要利用C++流进行文件操作,必须在程序中包含的头文件是()。
要定义一个具有5个元素的一维数组vect,并使其各元素的初值依次是30,50,-88,0和0,则下列定义语句中错误的是()。
下列有关继承和派生的叙述中,正确的是()。
若有定义“intx=4,y=5;”,则表达式“y>x++?x--=y++”的值为()。
下面属于白盒测试方法的是()。
下列选项中不属于面向对象程序设计特征的是()。
下面关于数据库三级模式结构的叙述中,正确的是()。
下列选项中不属于结构化程序设计原则的是()。
关于关键字class和typename,下列表述中正确的是()。
下列符号中不属于C++关键字的是()。
随机试题
最常引起肝、脾、淋巴结肿大及脑膜浸润的白血病类型是
A.盖嵴式桥体B.接触式桥体C.改良盖嵴式D.悬空式桥体E.船底式桥体可以防止食物进入龈端,自洁作用好,感觉舒适的桥体设计类型是()
某技术方案建设投资为1300万元,该技术方案经营期为20年,经营期每年总成本费用为300万元,折旧费和摊销费占总成本费用的20%,若直接将总成本费用列入技术方案投资现金流量表的现金流出,则会多计现金流出量合计()。
企业中期财务报告至少应当包括()。
银行应申请人的要求,向受益人作出的书面付款保证承诺,受益人提交条款相符的书面索赔后,银行将履行担保支付或赔偿责任的是()。(2011年)
对世界文化的看法存在欧洲中心论的偏见。在文化轴心时期,每一个文化区有它的中坚思想,每一中坚思想对世界文化都有它的贡献。中国的中坚思想是儒、道、墨兼而有之,以儒、道、墨为代表的诸子思想对世界文化作出了贡献。以下哪项陈述是上述论证所依赖的假设?(
简述民事法律行为和事实行为的区别。[北邮2013年研;北科2012年研]
设其中a1,a2,…,an是两两不同的一组常数,则线性方程组ATx=B的解是___________.
WhatdoesMr.Dominquezstateinhise-mail?
WhenMomandDadGrowOld[A]Theprospectoftalkingtoincreasinglyfragileparentsabouttheirfuturecanbe"oneofthemost
最新回复
(
0
)