首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序; #include using namespace std; class B{ public: virtual void show(){tout
有如下程序; #include using namespace std; class B{ public: virtual void show(){tout
admin
2019-02-22
63
问题
有如下程序;
#include
using namespace std;
class B{
public:
virtual void show(){tout<<"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/VcAp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
一个类的友元函数能够访问该类的
下面程序段的运行结果是voidmain(){intt,a,b,C;a=1;b=2;C=2;while(a<b<c){t=a;a=b;b=t;c--;}cout<<a
设有数组定义:chararray[]="China";,则数组array所占的空间为
执行下列程序的结果是main(){floatx=1,y;y=++x*++x;cout<<y<<endl;}
下列程序的运行结果为#include<iostream.h>inti=0;classA{public:A(){i++;}};voidmain(){Aa,b
可以用p.a的形式访问派生类对象p的基类成员a,其中a是
()复审应该把重点放在系统的总体结构、模块划分、内外接口等方面。
面向对象的开发方法中,类与对象的关系是
将E-R图转换到关系模式时,实体与联系都可以表示成
数据库系统的核心的是()。
随机试题
小细胞低色素性贫血见于
关于肾小球疾病错误的是
下列有关附带民事诉讼财产保全的表述正确的有哪些?()
没有设置会计机构的单位,应委托注册会计师事务所或代理机构进行代理记账。()
资本约束并不是控制银行操作风险的最好方法,应对操作风险的重要手段是严格的()。
下列关于附条件的合同和附期限的合同的说法,正确的有()。
党的十八大将建设中国特色社会主义总布局由“四位一体”扩展成“五位一体”,新增的一个方面是()。
某大型国有企业实行员工收入与岗位、技能、贡献和效益“四挂钩”的薪酬奖金分配制度。其具体内容如下:一是以实现劳动价值为依据,确定岗位等级和分配标准。该企业将全部岗位划分为科研、管理和生产3大类,每类又细分出10~12个等级,每个等级都有相应的薪酬和奖金分配标
表达式“Y=(A-B/C)×(D+E)”的后缀式表示为(29)。
BidNoCNCWB051011NoticeofInvitationforBidsFourthRuralWaterSupplyandSanitationProjectCNCCCInternationlTenderi
最新回复
(
0
)