首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序: #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-23
39
问题
有如下程序:
#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=newD以及类D的对象d;执行fun1会调用派生类的show函数,因为show函数为虚函数,而调用fun2、fun3仍然为基类的show函数,所以本题答案为C。
转载请注明原文地址:https://kaotiyun.com/show/SQyp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
下列叙述中正确的是
下列运算符中,不能作为成员函数重载的是
有如下程序:#includeusingnamespacestd;void_________{intz=x;x=y;y=z;}intmain(){int
下列情况中,不会调用拷贝构造函数的是()。
关于关键字class和typename,下列表述中正确的是()。
下面不属于软件需求分析阶段主要工作的是
有如下类和变量定义:classParents{public:intpublicData;private:intprivateData;};classdA:publicParen
下列选项中,与实现运行时多态性无关的概念是()。
在数据库系统的内部结构体系中,索引属于()。
随机试题
男,26岁,因患白血病住院治疗,为增加其机体抵抗力,可给予输入的血液制品是
木工机械多采用手工送料,容易发生手与刀刃接触,造成伤害。因为木工机械属于()机械,所以木工机械伤手事故较多。
下列关于成本计算分步法的表述中,正确的是()。(2010年)
ThefamouswarinthehistoryofBritishbetweentwobranchesoftheEnglishroyalfamilyiscalled______.
党的十八大报告首次提出“三个自信”即()。
维修:桌椅:使用
南辕:北辙()
指令SUB[BX+DI+3456H],CX的机器码最后8位为______。
Youshouldhaveputthemilkintheice-box;Iexpectit______undrinkablebynow.
Doyoufindgettingupinthemorningsodifficultthatit’spainful?Thismightbecalledlaziness,butDr.Kleitmanhasanew【
最新回复
(
0
)