首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序: #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
16
问题
有如下程序:
#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://jikaoti.com/ti/Uil0FFFM
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
对如下二叉树进行后序遍历的结果为()。
有如下程序:#include<iostream>usingnamespacestd;voidf1(int&x){x++;}voidf2(intx){++x;}intmain(){intx=10,y=12;f1(x);f2(y)
已知数组arr的定义如下:.intarr[5]={1,2,3,4,5};下列语句中输出结果不是2的是()。
若有定义“intx=4,y=5;”,则表达式“y>x++?x--=y++”的值为()。
下列选项中,正确的C++表达式是()。
有两个关系R和T如下:则由关系R得到关系T的操作是()。
有如下程序:#include<iostream>usingnamespacestd;classMonkey{public:Monkey(){cout<<’M’;}Monkey(charn){cout<<n;}~Monkey(){cou
下列关于基类和派生类关系的叙述中,正确的是()。
下列有关类继承的叙述中,错误的是()。
随机试题
(1)Teachersbelievethattoughexamsarediscouragingpupilsfromlearninglanguages,accordingtoanewBritishCouncilsurvey
下列物质中,食物的特殊动力作用最强的是()(2004年)
男性,5岁,因发现心脏杂音就诊,超声心电图示干下型室缺5mm。如治疗应选择
下列选项中,符合会计人员的管理的有( )。
债权人对于企业的偿债能力十分重视,以下指标中反映企业偿债能力的是( )。
中国的货币市场是银行间市场的重要组成部分。()
课外、校外教育是对课堂教学的一种()。
设线性方程组为(1)讨论a1,a2,a3,a4取值对解的情况的影响.(2)设a1=a3,a2=a4=-k(k≠0),并且(-1,1,1)T和(1,1,-1)T都是解,求此方程组的通解.
IEEE 802.11小组公布了多个正式的WLAN标准,其中(31)工作在2.4GHz的 ISM频段。在WLAN体系结构中,AP的作用是(32)。
InitiallythewriterdidnotwanttobuyahearingaidbecauseOnespecialfeatureofCrystalEaristhat
最新回复
(
0
)