首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序: #include <iostream> using namespace std; class B { public: virtual void show() { cout<<"B"; } };
有如下程序: #include <iostream> using namespace std; class B { public: virtual void show() { cout<<"B"; } };
admin
2009-06-20
52
问题
有如下程序: #include <iostream> 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
解析
本题考查的知识点是:虚函数与多态性。在成员函数声明的前面加上virtual修饰,即把该函数声明为虚函数。在C++中,一个基类指针(或引用)可以用于指向它的派生类对象,而且通过这样的指针(或引用)调用虚函数时,被调用的是该指针(或引用)实际所指向的对象类的那个重定义版本。题目中,fun1()和fun2()的形参分别是基类的指针和引用,如果传入的实参是指向派生类对象的指针或派生类对象,则函数中调用的show()为派生类中的show(),否则为基类中的show()。给fun1()传入的实参是指向派生类对象的指针p,而给fun2()传入的实参是基类对象。所以 fun1()调用派生类D中的show()输出一个’D’字符,fun2()调用基类B中的show()输出一个’B’字符。fun3()由于形参为基类对象,所以无论传入的是基类对象还是派生类对象,函数中调用的show()始终为基类的版本,输出一个’B’字符。故最终输出结果为 DBB,应该选择C。
转载请注明原文地址:https://www.kaotiyun.com/show/7ojp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
以下叙述中正确的是()。
下列选项中属于面向对象设计方法主要特征的是()。
有以下程序#include<stdio.h>main(){inta,b;for(a=0;a<3;a++){scanf("%d",&b);switch(b){case1:p
给定程序中,函数fun的功能是:将s所指字符串中的所有数字字符移到所有非数字字符之后,并保持数字字符串和非数字字符串原有的先后次序。例如,形参s所指的字符串为:def35adh3kjsdf7。执行结果为:defadhkjsdf3537。请在程序的下划线处
设有如下关系表:则下列操作正确的是()。
下列有关数据库的描述,正确的是()。
以下关于C语言数据类型使用的叙述中错误的是()。
以下关于结构化程序设计的叙述中正确的是
C语言中char类型数据占字节数为()。
结构化程序昕要求的基本结构不包括
随机试题
在甲、乙婚姻关系存续期间,夫或妻一方可以提出分割夫妻共同财产请求的情形有()。
1632年,_______出版的《大教学论》最早从理论上对班级授课制作了阐述。
患者,男性,55岁。近期消瘦,3天前突发呼吸困难,下肢水肿,颈静脉怒张,心界向两侧扩大,心音遥远。B超提示心包积液。急诊行心包穿刺,抽出血性液体约300mL,抽液后症状缓解。现再发呼吸困难,B超又提示中等量心包积液。本例的可能诊断为
下列全身麻醉药中,肌肉松弛作用较完全的是
患者因口服安定过量,昏迷不醒,被家属送急诊。护士宜选用的最佳洗胃液是
A公司打算添置一条生产线,使用寿命为10年,由于对相关的税法规定不熟悉,现在正在为以下两个方案讨论不休。方案一:自行购置。预计购置成本为200万元,税法规定的折旧年限为15年,法定残值率为购置成本的10%,按照直线法计提折旧。预计该资产10年后的变现价值
端午节是我国重要的传统节日,又称()。
目前,在我国是否推行弹性退休制上还存在着巨大争议。一种观点认为,弹性退休制有利于人才资源的合理利用,有利于减轻国家养老负担;一种观点认为,弹性退休制可能导致某些垄断行业和权力阶层受益,造成新的社会不公。应该说,这两种观点都有一定道理,也有一定的事实支持和依
小康社会、小康生活
Whatpreventsthemanfromtakingthepoetsof1960’sclass?
最新回复
(
0
)