首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序: #include using namespace std; class B { public: virtual void show() { cout
有如下程序: #include using namespace std; class B { public: virtual void show() { cout
admin
2015-07-22
18
问题
有如下程序:
#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);
delete p;
return 0;
}
执行这个程序的输出结果是( )。
选项
A、BBB
B、BBD
C、DBB
D、DBD
答案
C
解析
在某基类中声明为 virtual 并在一个或多个派生类中被重新定义的成员函数,本题中定义类B的对象 b、对象指针*p=new D以及类D的对象d;执行fun1会调用派生类的show函数,因为show函数为虚函数,而调用fun2、fun3仍然为基类的show函数,所以本题答案为C。
转载请注明原文地址:https://jikaoti.com/ti/ptE0FFFM
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
以下程序的执行结果是#include<iostream.h>voidmain(){cout.fill1(’*’);cout.width(10);cout<<123.45<
关于抽象类,下列表述正确的是()。
以下程序的输出结果是()。#include<iostream.h>voidfunc(char**m){++m:cout<<*m<<endl;}
磁盘文件操作中,打开磁盘文件的访问方式常量中,()是以追加方式打开文件的。
有如下程序:#include<iostream>usingnamespacestd;classpoint{intx,y;public:point(intvx,intvy)
一个项目具有一个项目主管,一个项目主管可管理多个项目。则实体集“项目主管”与实体集“项目”的联系属于【】的联系。
下列关于队列的叙述中正确的是
设在主函数中有以下定义和函数调用语句,且fun()函数为void类型,请写出fun()函数的首部【】。intmain(){doubles[10][22];intn;fun(s);re
将E—R图转换为关系模式时,实体和联系都可以表示为
类模板的模板参数()。
随机试题
大众社会的特征不包括
控制疟疾发作的最佳药物是
苯丙酮尿症的遗传方式是
以下管线属于压力管线的是()。
施工承包企业按照( ),划分为施工总承包、专业承包、劳务分包三个序列。
以下关于绩效标准法的说法,不正确的是()
甲说:“物质不生不灭。”乙说:“任何物质都有生有灭。”对于二者的观点,正确的判断是()。
2016年年末,全国参加基本养老保险人数为88777万人,比上年年末增加2943万人。全年基本养老保险基金收入37991亿元,比上年增长18%,其中征缴收入27500亿元,比上年增长16%。全年基本养老保险基金支出34004亿元,比上年增长21.8%。年末
关于嵌入式处理器内核说法错误的是()。
A—draftB—GovernmentBillC—lawenforcementD—clauseE—legislation
最新回复
(
0
)