首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序: #include using namespace std; class B { public: virtual void show() { cout
有如下程序: #include using namespace std; class B { public: virtual void show() { cout
admin
2015-07-22
41
问题
有如下程序:
#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);
delete p;
return 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/YANp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
定义如下枚举类型:enum{Monday,Tuesday,Wednesday,Thrusday,Friday=2};则下列语句正确的是()。
下面程序的运行结果是【】#include<iostream>usingnamespacestd;intfun(intn){staticintm=2;m=m+n;
关于在调用模板函数时实参的使用,下列表述中正确的是
下列叙述中正确的是
下列关于栈的叙述正确的是
下面程序的输出结果为:Base::fun,请将程序补充完整。#include<iostream.h>classBase{public:【】fun(){cout<<"Base::fun"<<end1;}}
下列运算符中不能在C++中重载的是
假定A为一个类,则语句A(A&A);为该类【】函数的原型说明。
在公有派生情况下,有关派生类对象和基类对象的关系,下列叙述不正确的是
在E.R图中,图形包括矩形框、菱形框、椭圆框。其中表示实体联系的是【】框。
随机试题
A.胰岛素释放试验B.糖化血红蛋白C.葡萄糖耐量试验D.尿糖测定判断糖尿病控制程度的指标是
导致压疮发生的最常见原因是
克罗恩病病变多位于
水泥混凝土路面板横向缩缝的构造形式有()
下列行为可能构成背信运用受托财产罪的是()。
社会主义法制的基本要求是()。
组织结构设计后的实施要则包括()。
活性氧不同于普通氧,它一般以氧自由基形式存在,自身带有一个不成对电子,具有强氧化能力和极高的化学活性。通常,这种氧能在所有细胞中形成,约占进入细胞氧气量的5%。下面哪一项不是“活性氧”的内在属性?()
A、No,that’smyaunt’s.B、No,that’smymother.C、Yes,Ilovemymother.A
NoonepersonhasdonemoretoshapemodernsexualvaluesinAmerica—andthereforetheWesternworld—thanDr.AlfredKinsey.T
最新回复
(
0
)