首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序; #include using namespace std; class B{ public: virtual void show(){cout
有如下程序; #include using namespace std; class B{ public: virtual void show(){cout
admin
2020-04-07
95
问题
有如下程序;
#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/Ok8p777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
下面关于友元的描述中,错误的是()。
在多重继承中,派生类对于基类构造函数之间用( )分隔。
A、 B、 C、 D、 B定义函数模板或类模板时,开头的保留字是template。
构造函数是和【】同名的函数。
磁盘文件操作中,打开磁盘文件的访问模式常量时,()是以追加方式打开文件的。
关于函数重载,下列叙述中错误的是
下列选项中不符合良好程序设计风格的是()。
下列字符串中可以用作C++语言标识符的是()。
当使用关键字______作为函数返回类型时,该函数不返回任何值。
C++在重载运算符中,如用成员函数重载一元运算符参数表中需要【】个参数,如用友元函数重载一元运算符参数表中需要【】个参数。
随机试题
导致程序失效的因素包括:_______、_______、_______、_______。
下列卵巢非赘生性囊肿临床表现和声像图特征,错误的是
患者,女,26岁,G2P0,孕31周。恶心、呕吐伴不规律下腹坠痛10小时而入院。一般情况尚可,T37.3℃,BP120/80mmHg,P90次/min,R20次/min;心肺未见异常,妊娠腹型,肝脾未及,剑突下右侧轻压痛,无反跳痛,麦氏点无压痛。有
与心相合为
全程跟单是指“跟”到货款到账、合同履行完毕为止。()
以抗日为主题的各种形式的文学创作成为吉林现代文学的主线是从()后开始的。
迷信实质上就是把某个理论、事物奉为永恒不变的东西而不加分析地盲从,迷信绝不是封建时代的特产。任何时候,只要我们把某个人的思想、某种理论当成万能不变的法宝,不假思索地接受,迷信活动都可能形成。盲从的意识就会继续左右人们的行为。而要彻底根除迷信、消除盲从,仅仅
公共危机舆论管理中,柔性同刚性之间既存在矛盾,又相互借鉴,刚性需要柔性来填充,柔性需要刚性做支撑。形象地说,刚性是骨架,柔性是血肉。倡导柔性管理,不是全盘否定刚性管理的价值,而是要弥补其过于刻板、缺乏弹性等方面的不足。《周易》中说,“刚柔相推,崇德广业”。
关于法律意识,下列表述错误的是()
若有以下程序段:structstmain(){intn;{structst*p;int*m;p=s;};…inta=2,b=3,c=5;}structsts[3]=({101,&a},{102,&c},{103,
最新回复
(
0
)