首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序; #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
2019-06-12
39
问题
有如下程序;
#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/cQ8p777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
下面关于派生类的描述中错误的是()。
定义字符指针char*str=“hello”,已知sizeof(str)=4,则strlen(str)=___________。
阅读下面的程序:#includevoidmain(){intx;cin>>x;if(x++>5)cout
有如下函数模板:templateTcast(Uu){returnu;}其功能是将U类型数据转换为T类型数据。已知i为int型变量,下列对模板函数cast的调用中正确的是()。
以下程序的正确运行结果是()。#includeimfun(int);voidmain(){inta=2,i;for(i=0;i
下面关于运算符重载的描述中,正确的是()。
下面有关内联函数的叙述中,正确的是()。
在关系代数运算中,_____________操作会消去关系中的某些列并删去重复的元组。
运算符函数调用格式的表达式“y/x++”与表达式“y.operator/(operator++(x,0))”的含义相同,由此可看出()。
在C++中,若需要在程序文件中进行标准输入输出操作,则必须在开始处加入预处理命令#include<iostream.h>,若使用到数学库中的函数时,要在源程序的开始处加入预处理命令【】。
随机试题
患者,女性,56岁。反复上腹部疼痛伴反酸15年,近来食欲欠佳,体重明显下降,下一步应该首选的检查是
具消痰行水、降逆止呕功效的药物为
贷款价格的构成包括贷款利率、贷款承诺费、补偿余额和隐含价格,其中贷款承诺费是指银行对()的那部分资金收取的费用。
中国革命和建设的基本立足点是()。
服饰,包括衣服、鞋帽、头饰、佩戴等,是一个复杂的文化体系,凭借它大体可知是哪一民族。这表明()。
()不完全属于一般市场经济国家基本的宏观调控目标。
对于被判处有期徒刑或者拘役的罪犯,如有严重疾病需要保外就医的,可以暂予监外执行的,由()负责执行。
下列选项中,不属于数据库管理的是
MoreRuralResearchisNeededAgriculturalresearchfundingisvitaliftheworldistofeeditselfbetterthanitdoesnow.
Itisnowclearthatnosuchcreaturesasvampireshavebeenseenandnonebeenfoundintheworld.
最新回复
(
0
)