首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序: #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
16
问题
有如下程序:
#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://kaotiyun.com/show/SQyp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
下列运算符中,不能被重载的是
某二叉树有5个度为2的结点,则该二叉树中的叶子结点数是( )。
已知一运算符函数没有参数。下列关于该运算符函数的表述中错误的是
计算机软件包括
下列有关继承和派生的叙述中,正确的是()。
若要对类Value中重载的类型转换运算符long进行声明,下列选项中正确的是
下面不能作为结构化方法软件需求分析工具的是
下面对类-对象主要特征描述正确的是
在软件开发中,需求分析阶段产生的主要文档是()。
下列程序段中包含4个函数。其中具有隐含this指针的是()。intfunl();classTest{public:intfun2();friendintfun3()
随机试题
A、Shesensesnopurposetoherownlifethatsherefusestoseeanyone.B、Sheremainsoptimisticaboutherfuturethatshecanl
真武汤中配伍白芍的作用是
近年来的研究表明,一些简单的蛋白质无需能量的输入或其他蛋白质的帮助就能折叠成天然构象;但大多数情况下,新合成的蛋白质需要其他蛋白质的帮助才能形成正确的构象。新生肽链折叠成天然构象往往是在被称为()的一类蛋白质的帮助下完成的
可实现混凝土自防水的技术途径是()。[2011年真题]
AnneWhitney,asophomoreatColoradoStateUniversity,firsthadaproblemtakingtestswhenshebegancollege."Iwasalwaysw
某老师在自修课时发现张亮、李宏、马威三位同学在讲话,就过去训斥他们。当着全班同学的面叫他们的绰号(说话声音最响的张亮为“大喇叭”,声音有点沙哑的李宏为“破喇叭”,头发厚黑粗硬的马威为“黑刺猬”),并罚他们到教室外的走廊上站立至下课。第二天上课,又看(听)到
根据乔纳森提出的知识获得三阶段模式,高级知识的获得主要通过何种方式?()
某大学分配给计算机系、音乐系和美术系的IP地址块分别为172.55.159.224/27、172.55.159.208/28和172.55.159.192/28,这三个地址块经过聚合后的地址块为()。
【B1】【B6】
Thenewborncanseethedifferencebetweenvariousshapesandpatternsfrombirth.Hepreferspatternsfordullorbrightsolid
最新回复
(
0
)