首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序: #include using namespaee std; class B{ public: virtual void show(){cout
有如下程序: #include using namespaee std; class B{ public: virtual void show(){cout
admin
2015-07-24
51
问题
有如下程序:
#include
using namespaee 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);
delete P;
retum 0;
}
执行这个程序的输出结果是( )。
选项
A、BBB
B、BBD
C、DBB
D、DBD
答案
C
解析
在某基类中声明为virtual并在一个或多个派生类中被重新定义的成员函数,本题中定义类B的对象b、对象指针*p=new D以及类D的对象d;执行fun1会调用派生类的show函数,因为show函数为虚函数,而调用fun2、fun3仍然为基类的show函数,所以本题答案为c。
转载请注明原文地址:https://kaotiyun.com/show/QcNp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
一个()允许用户为类定义一种模式,使得类中的某些数据成员及某些成员函数的返回值能取任意类型。
下面程序错误的语句是 #include"iostream.h" ①voidmain() ②{ ③intA=0; ④int&B; ⑤B=A; ⑥cout<<B; ⑦
如果一个模板声明时有类型形参表,则多个参数之间必须使用______隔开,每个参数都必须重复使用关键字______。
下面关于C++语言的描述错误的是
已知: doubleA(doubleA){return++a;}和intA(intA){return++a;}是一个函数模板的两个实例,则该模板定义为【】。
下面是关于ios类的叙述,正确的是()。
为用户与数据库系统提供接口的语言是
软件开发离不开系统环境资源的支持,其中必要的测试数据属于
有如下程序段&include<iostream.h>voidmain(){inta=14,b=15,x;charc=’A’:x=(a&&b)&&(c<’B’=;cout<<x;=执行该
自顶向下分析方法从文法的开始符号出发,判断其能否()出输入符号串。
随机试题
下列不属于营养信息交流技巧的是
下列哪项不是肝气犯胃型呕吐的主症
制冷机突出部分与配电盘之间的距离和主要通道的宽度应不小于()
坝面的质量检查和控制过程中,对于反滤层、过渡层、坝壳等非黏性土的填筑,主要应控制()。
下列行为中,属于《招标投标法》明令禁止的“限制和禁止”的招标行为是()。
在我国当前股票发行中,首次公开发行采用询价方式的,公开发行股票数量在4亿股(含)以下的,有效报价投资者数量应不少于()家。
2976
A.颅面分离B.耳鼻出血C.复视D.张口受限E.局部水肿颅底骨折常伴有()。
(2004年第16题)在下列各句横线处,依次填入最恰当的词语:①记者的不断追问,使他陷入十分尴尬的______。②白出生以来,他第一次在北京______了一个愉快的春节。③画上熙熙攘攘的人群中,______着几个衣衫褴楼的人。
TheOrganizedTraveller’sChecklistHere’sastep-by-stepguidetoaccomplishingtheessentialsintheweeks,days,andhour
最新回复
(
0
)