首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序; #include using namespace std; class B{ public: virtual void show(){cout
有如下程序; #include using namespace std; class B{ public: virtual void show(){cout
admin
2015-09-14
32
问题
有如下程序;
#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);
return 0;
}
程序的输出结果是( )。
选项
A、BBB
B、BBD
C、DBB
D、DBD
答案
C
解析
此题考查的是虚函数与多态性。在成员函数的声明前面加上virual关键字,即可把函数声明为虚函数;在C++中,一个基类指针可以用于指向它的派生类对象,而且通过这样的指针调用虚函数时,被调用的是该指针实际所指向的对象类的那个重定义版本。此题中,fun1()和fun2()的形参分别是基类的指针和引用,给fun1()传入的实参是指向派生类对象的指针p,fun1()将调用D类中的show()输出字符‘D’:给。fun2()出入的实参是基类对象,fun2()调用类B中的show()输出字符‘B’:fun3()由于形参是基类对象,调用的始终都是基类的show(),输出字符‘B’。故最终输出结果是DBB。
转载请注明原文地址:https://kaotiyun.com/show/kqNp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
下列程序是用来判断数组中特定元素的位置所在,则输出结果为#include<conio.h>#include<iostream.h>intfun(int*s,intt,int*k){i
一个关系中属性个数为1时,称此关系为
在结构化分析方法中,用于描述系统中所用到的全部数据和文件的文档称为【】。
下列运算符中全都可以被友元函数重载的是
设有intx=11;,则表达式(x++*2/3)的值是
每个C++程序中都必须有且仅有一个
若有一个MyClass类,则执行语句MyClassa,b(2),*p;后,自动调用该类的构造函数()次。
在重载一个运算符时,如果其参数表中有一个参数,则说明该运算符是
开发软件所需高成本和产品的低质量之间有着尖锐的矛盾,这种现象称做
随机试题
术后恶心、呕吐的最常见原因为
A.ABPAB.弥漫性泛细支气管炎DPBC.支气管扩张D.慢性支气管炎E.肺结核男性,55岁。反复咳嗽,咳痰30年,多为脓痰,偶有咯血。近3天发热,痰偶为绿色。胸部CT,可见左肺中叶蜂窝样改变,囊腔中可见液平。最可能的诊断是
患者,中年女性。因劳累后心悸、气促而去医院就诊。体格检查示心尖区闻及舒张期滚筒样杂音;胸部正位摄片示心影呈梨形,中度增大。本例诊断最可能的诊断是
在借贷记账法下,账户的哪一方登记增加数,哪一方登记减少数,取决于()。
下列不属于仿效法特点的是()。
轴直径的一个n=5的样本观测值(单位:cm)为:15.09,15.29,15.15,15.07,15.21,则样本中位数为()。
WhenitcomestothePPPteachingmodeloforalEnglishclass,thesecondPrefersto________.
给定资料1.生活中,同一种类的电池可以在不同产品上使用,既可以用在电视遥控器上,也可以用在闹钟或手电筒上。按照既定的大小和形状生产出来的电池,不管是哪个厂家生产的都能使用,从而确保了同一种类的电池具有互换性。这种能够互换的特性就是标准化。在
Whenthesunstartedtoset,Jimheadedforhome.Hehadhuntedlongenough.Justthenhesawtherewas,30feetinfrontofh
A、clothes.B、age.C、physique.D、appearance.A
最新回复
(
0
)