首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序: #include using namespace std; class B{ public: virtual void show(){cout
有如下程序: #include using namespace std; class B{ public: virtual void show(){cout
admin
2021-02-22
49
问题
有如下程序:
#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://kaotiyun.com/show/HEfp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
关于在调用模板函数时模板实参的使用,下列表述正确的是()。
设二叉树的后序序列与中序序列均为ABCDEFGH,则该二叉树的前序序列为
设某棵树的度为3,其中度为3、1、0的结点个数分别为3、4、15。则该树中总结点数为
软件按功能可以分为应用软件、系统软件和支撑软件(或工具软件)。下面属于应用软件的是
在结构化程序设计中,模块划分的原则是
下面不属于软件设计阶段任务的是
下列语句都是程序运行时的第1条输出语句,其中一条语句的输出效果与其他三条语句不同,该语句是()。
下列关于常成员的叙述中,正确的是()。
下列有关继承和派生的叙述中,正确的是()。
若有以下定义,说法错误的是()。hata=100,*p=&a;
随机试题
被微生物污染后的奶类因生成________而使奶产生臭味。
承包人进行工程建设,发包人支付价款的合同为()。
悬索桥的主缆不在工厂预制索股时,其架设方法应采用()。
过海关200支香烟需要申报。()
下列政府信息不需要主动公开的是()。
在可行性分析中,论证系统投入和可能产生的效益属于
计算下面分段函数的正确语句是( )。
命令按钮不支持的事件为
Researchersinvestigatingbrainsizeandmentalabilitysaytheirworkoffersevidencethateducationprotectsthemindfromthe
【B1】【B13】
最新回复
(
0
)