首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序: #include using namespaee std; class B{ public: virtual void show(){cout
有如下程序: #include using namespaee std; class B{ public: virtual void show(){cout
admin
2015-07-24
31
问题
有如下程序:
#include
using namespaee 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;
retum 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://kaotiyun.com/show/QcNp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
对于模板定义关键字class和typename说法不正确的是()。
测试的目的是暴露错误,评价程序的可靠性;而【】的目的是发现错误的位置并改正错误。
耦合和内聚是评价模块独立性的两个主要标准,其中【】反映了模块内各成分之间的联系。
下面关于运算符重载的描述错误的是
已知p是一个指向类Sample数据成员m的指针,s是类Sample的一个对象。如果要给m赋值为5,()是正确的。
进行文件操作需包含的头文件是()。
对以下说明语句的正确理解是inta[10]={6,7,8,9,10};
对于长度为n的有序线性表,在最坏情况下,二分查找需要比较log2n,那么顺序查找需要比较的次数是【】。
设有以下变量定义,并已赋确定的值:charw;intx;floaty;doublez;则表达式:w*x+z-y所求得的数据类型为()。
将E-R图转换到关系模式时,实体与联系都可以表示成
随机试题
CT增强扫描常用的对比剂注射方法是
期货交易所负责人应由()聘任。
能量RNI和EAR的关系为()。
试述同时履行抗辩权的适用条件。
中国革命的最基本动力是()。
下列哪项没有运用热胀冷缩原理?
公使衔参赞
PowerDesigner中的WarehouseArchitect模块的主要功能是()。
簡単な仕事なので、一日で________です。
Thereisnodoubt______Herbertisthemostindustriousstudentinourclass.
最新回复
(
0
)