首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序; #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
2017-04-25
52
问题
有如下程序;
#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/d2Ap777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
有如下程序:#includeUsingnamespacestd;classBase{public:Base(intx=0):valB(x){cout<<valB;}~Base()(cout<<valB;
有如下程序:#includeusingnamespacestd;ClassTest{public:Test(){}Test(constTest&t){cout
通常拷贝构造函数的参数是( )。
在进行模块测试时,要为每个被测试的模块另外设计两类模块:驱动模块和承接模块(桩模块)。其中______的作用是将测试数据传送给被测试的模块,并显示被测试模块所产生的结果。
执行下列语句序列: int i=0;while(i<25)i+=3;cout<<i; 输出结果是( )。
在面向对象方法中,类的实例称为______。
设有如下关系表:则下列操作中正确的是
在软件生存周期中,能准确地确定软件系统必须做什么和必须具备哪些功能的阶段是
在面面对泵方法中,一个对象请求另一对象为其服务的方式是通过发送【 】实现。
随机试题
按照资源税有关规定,独立矿山收购未税矿产品适用()。
对进入新药临床试验的药物及病例选择应具备的条件,不正确的是
一名14岁的男孩,因意识不清4小时被母亲送到急诊室,母亲告诉医生,孩子近半年多食易饥,消瘦,曾到医院就诊。化验血糖增高,尿糖阳性。体检病孩消瘦,中度昏迷入院后母亲告诉医生,孩子最近因感冒咽痛、发热,1日前肌注青霉素,并口服阿司匹林。昏迷原因最大可能是
发生可能对上市公司股票交易价格产生较大影响而投资者尚未得知的重要事件时,上市公司公告应说明事件的实质。下列所述各项,不属于上述所称的重要事件的是。()
封闭式基金与开放式基金的区别不包括()。
以下关于现值和终值的说法,错误的是()。
企业因()举行的信息发布会,其主题属于说明性主题。
()是以工作岗位为对象,采用科学的调查方法,收集各种与岗位相关的信息和资料的过程。
用Word97对文档进行分栏设置,最多能分的栏数是()。A.3栏B.5栏C.11栏D.2栏
______thattheenvironmentcontinuestobedamagedatthecurrentrate,itwillnotbelongbeforetheearthistotallydestroy
最新回复
(
0
)