首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序: #include using namespace std; class B { public: virtual void show() { cout
有如下程序: #include using namespace std; class B { public: virtual void show() { cout
admin
2020-07-23
41
问题
有如下程序:
#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=newD以及类D的对象d;执行fun1会调用派生类的show函数,因为show函数为虚函数,而调用fun2、fun3仍然为基类的show函数,所以本题答案为C。
转载请注明原文地址:https://www.kaotiyun.com/show/SQyp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
有如下程序#includeusingnamespacestd;classAA{charc;public:AA():c(’X’){}AA(A
有如下类定义:classBase{intm;public:intn;protected:intp;};classDerived
有如下程序:#include#includeusingnamespacestd;classWheel{public:Wheel(strings=
已知函数f1调用函数f2,若要把这两个函数的定义放在同一个文件中,则
当使用ifstream流类定义一个流对象并打开一个磁盘文件时,文件的默认打开方式为()。
用于定义类的必不可少的C++关键字是
C++系统预定义了4个用于标准数据流的对象,下列选项中不属于此类对象的是()。
有函数模板声明和一些变量定义如下:template<classT1,classT2,classT3>T1sum(T2,T3);doubled1,d2;则下列调用中,错误的是()。
C++类体系中,不能被派生类继承的有()。
在数据库系统的内部结构体系中,索引属于()。
随机试题
在日常检定或校准中,将由测量标准所复现的量值作为约定真值,常称为__________。
化脓性感染形成脓肿后,外科治疗的基本原则是()
能使动脉血压波幅增大的原因是
楼层平面放线记录的“检查意见”由()手写或电脑录入。
建设项目的种类有很多,要根据建设项目的性质和()组建管理部门。
王某向赵某借款10万元,以其卡车抵押并办理了抵押登记。后因发生交通事故,王某将该卡车送到甲修理厂修理。修理完毕,土某因无法支付1万元的维修费,该卡车被甲修理厂留置。后王某欠赵某的借款到期,赵某要求对该卡车行使抵押权,甲修理厂以王某欠修理费为由拒绝,双方发生
出席亚行年会的国际货币基金组织石油专家富兰克林认为,“目前的石油危机可能会比上世纪70年代那次更为持久”。出现上述现象最不可能的原因是()。
人类历史上,技术革命往往和社会发展的_________相互作用,互为因果。今天,以微博为代表的互联网技术应用正_________着它推进社会生活各个领域发生变化的巨大潜能。填入画横线部分最恰当的一项是:
Somepeopleclaimthatpublicmuseumsandartgallerieswillnotbeneededbecausepeoplecanseehistoricalobjectsandworksb
What’sthemainfeatureofthenewmethodofpayingformeals?
最新回复
(
0
)