首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序; #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
26
问题
有如下程序;
#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全国计算机二级
相关试题推荐
一个关系中属性个数为1时,称此关系为
数据库系统中实现各种数据管理功能的核心软件称为【】。
考虑函数原型voidtest(inta,intb=7,charz=’*’下面的函数调用中,属于不合法调用的是
下列对变量的引用中,错误的是
下列叙述中正确的是
程序设计方法要求在程序设计过程中
以下程序的执行结果为【】。 #include<iostream> usingnamespacestd; classbase { public: virtualvoidwho() { cout<<
关于二义性的描述错误的是()。
关于虚函数,下列表述正确的是()。
如果不使用多态机制,那么通过基类的指针虽然可以指向派生类对象,但是只能访问从基类继承的成员。下列程序没有使用多态机制,其输出结果是______。#include<iostream>usingnamespacestd;class
随机试题
行政机关实施行政强制,有下列哪些情形之一的,由上级行政机关或者有关部门责令改正,对直接负责的主管人员和其他直接责任人员依法给予处分:()
自然常识课上,教师通过做水的加温和降温实验,让学生观察水的“三态”变化,这种教学方法是()。
关于我国河流的描述,与实际不符的是()。
自古以来,我国文人志士多有的家国情怀。抗战时期,许多南开学子就主动奔赴沙场,用鲜血和生命诠释了爱国、奉献的精神内涵。填入画横线部分最恰当的一项是:
Thedestructionofournaturalresourcesandcontaminationofourfoodsupplycontinuetooccur,largelybecauseoftheextreme
learntoonornotA.whetherwelikeit【T1】______B.haveto【T2】______acceptC.thatexists【T3】______planetEarth
劳动任务出色地完成了,所以我们的思想也得到了提高。
EveryyearBerryBros&Rudd,Britain’soldestwinemerchant,issuesapocket-sizedpricelist.Readingoldcopiesmakesamateur
Gettingreadytogobacktoschoolinthegoodolddaysof,say,1998meantafewtripstothemallandaquickcheckofthebus
A、Anexperiencedteacher.B、AnEnglishtranslator.C、ATOEFLinterviewer.D、Alanguageresearcher.A选项均为关于职业的名词短语,推断本题与人物职业有关。根据
最新回复
(
0
)