首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序; #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
85
问题
有如下程序;
#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://www.kaotiyun.com/show/Ok8p777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
在重载一个运算符为成员函数时,其参数表中没有任何参数,这说明该运算符是
有如下类的定义。空格处的语句是classMyClass{______intx,y;public:MyClass(inta=0,intb=0){x=a;y=b;}stati
关于对象概念的描述中,_______是错误的。
在深度为7的满二叉树中,叶子结点的个数为()。
类的析构函数的作用是()。
长度为n的顺序存储线性表中,当在任何位置上插入一个元素概率都相等时,插入一个元素所需移动元素的平均个数为______。
支持子程序调用的数据结构是
模板是实现代码重用机制的一种工具,其中使一个函数可以定义成对许多不同数据类型完成同一个任务的是指【】模板。
开发软件所需高成本和产品的低质量之间有着尖锐的矛盾,这种现象称做()。
开发软件所需高成本和产品的低质量之间有着尖锐的矛盾,这种现象称作()。
随机试题
A.肝外阻塞性黄疸B.肝内胆汁淤积性黄疸C.肝细胞性黄疸D.溶血性黄疸E.先天性非溶血性黄疸下述疾病黄疸分类是
颌骨骨折愈合过程中,骨痂形成的时间是在骨折后A.1周B.2周C.4周D.1个月E.2个月
主要由自身反应性T细胞介导的自身免疫性疾病是
关于企业组织结构设计,正确的说法是( )。
企业风险是指那些影响企业实现其战略目标的不确定性,下列关于企业风险的表述中,错误的是()。
【2015年山东省属】班主任了解学生的途径有()。
警察是一个历史范畴,是人类社会一定历史阶段的产物。哪些学说不包括该观点?()
文字概率相对于数字概率具有模糊性、非概率运算性和语义特性等特征。数字概率是一种更精准的风险表达方式,在风险沟通时人们对其能比较客观地传递、解释和利用。文字概率和数字概率在进化历史上出现时间不同,隶属的发展领域(语言和数学)也不同,所以其特征上的差异可能不止
KonstaintinStanislavski那种受到公众赞扬的训练演员的方法,来自于他本人作为一名年轻演员时的笨拙表现和受到的戏剧中的陈词滥调的伤害。必须从Stanislavski个人为从陈腐的姿势、反复尝试的嗓音语调和标准的感情模式的诱惑中解脱出来进
Ifpolicymakershopetomakefasterprogressinimprovingeconomicperformance,reducingpoverty,andslowing 【M1】______
最新回复
(
0
)