首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序; #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
2017-04-25
53
问题
有如下程序;
#include<iostream>
using namespace std;
class B{
public:
virtual void show(){cout<<’’B’’;}
};
class D:public B{
public:
void show(){cout<<’’D’’;}
};
void funl(B*ptr){ptr->show();}
void fun2(B&ref){ref.show0;}
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
解析
此题考查的是虚函数与多态性。在成员函数的声明前面加上virual关键字,即可把函数声明为虚函数:在C++中,一个基类指针可以用于指向它的派生类对象,而且通过这样的指针调用虚函数时,被调用的是该指针实际所指向的对象类的那个重定义版本。此题中,fun1()和fun2()的形参分别是基类的指针和引用,给fun1()传入的实参是指向派生类对象的指针p,funl()将调用D类中的show()输出字符‘D’;给fun2()出入的实参是基类对象,fun2()调用类B中的show()输出字符‘B’;fun3()由于形参是基类对象,调用的始终都是基类的show(),输出字符‘B’。故最终输出结果是DBB。
转载请注明原文地址:https://kaotiyun.com/show/d2Ap777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
将运算符“+”重载为非成员函数,下列原型声明中,错误的是()。
要定义一个引用变量p,使之引用类MyClass的一个对象,正确的定义语句是()
若MyTemp是一个具有一个虚拟类型参数的类模板,且有如下语句序列:MyTempp2;MyTempp3[2];编译系统在处理上面的语句序列时,所生成的模板MyTemp的实例的个数是()。
通常拷贝构造函数的参数是( )。
有以下类定义classMyClass{public:MyClass(){cout<<l;)};则执行语句MyClassa,b[2],*p[2];后,程序的输出结果是
在软件开发中,下面任务不属于设计阶段的是
定义如下枚举类型:enum Number{one=1,two=2,four=4,eight=8},则枚举类型Number的取值范围是( )。
对于派生类的构造函数,在定义对象时构造函数的执行顺序为:先执行调用______的构造函数,再执行调用子对象类的构造函数,最后执行派生类的构造函数体中的内容。
在关系数据库中,把数据表示成二维表,每一个二维表称为______。
随机试题
黄柏因有泻相火、除骨燕之功,故可用治____________、____________、____________等证。
外科疾病五大类中下列哪项是错误的
遵守医嘱包括以下哪些行为
郑某的行为是否属于防卫过当?应当如何定性?并说明理由。A市人民检察院的哪些做法违反了刑事诉讼法的相关规定。
资本定价模型不能用来评价证券的定价是否合理。()
地方各级财政部门要在2011年1月1El前,将全部预算外收入纳入()。
旅游团队领队在境外遇到特殊困难和安全问题时,领队应当及时报告组团社和中国驻所在国家使、领馆。()
面部表情的主要功能是辅助人们的语言交流,在交谈过程中加强情绪信息的传达。和独处时间相比,人们在社交情境中表达情绪的面部表情更多而且更明显。很多时候网络上的文字性讨论容易引起误解和争吵,一个可能的原因在于,交谈双方无法从对方语气判断对方是善意还是恶意,是讽刺
A、 B、 C、 D、 D
Remembertoaskfora______ofqualityfortheconsumergoods;otherwisetheywillnotof-feranymaintenance.
最新回复
(
0
)