首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序: #include using namespace std; class B { public: virtual void show() { cout
有如下程序: #include using namespace std; class B { public: virtual void show() { cout
admin
2020-06-29
39
问题
有如下程序:
#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/Gl8p777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
对定义重载函数的下列要求中,()是错误的。
若已定义:inta[]={0,1,2,3,4,5,6,7,8,9},*p=a,i;其中0≤i≤9,则对a数组元素不正确的引用是
下列关于虚函数的说法中,正确的是()。
有以下程序,在横线应添加()。#includeusingnamespacestd;classTestClass{public:TestClass(intn){nu
A、 B、 C、 D、 B数据库设计阶段主要包括需求分析、概念设计、逻辑设计和物理设计。其中逻辑设计的主要工作是将E.R图转换为关系模式。
下述静态数据成员的特性中,()是错误的。
在E-R图中,用来表示实体之间联系的图形是
程序的3种基本控制结构是
在数据结构中,从逻辑上可以把数据结构分成线性结构和【】。
下列关系运算中,能使经运算后得到的新关系中属性个数多于原来关系中属性个数的是
随机试题
简述加拿大学者莱斯利雅各布在《民主视野》一书中总结的关于公共利益的四种代表性定义。
心包腔内在____________、____________的后方与____________、____________之间的间隙,称为心包横窦。
目前已在世界范围消灭的疾病是
以招标公告的方式邀请不特定的法人或其他组织投标的招标方式是()。
某企业为了提高产品A的质量,扩大销量,准备变卖一套尚可使用5年的旧设备,另购置一套新设备来替换它。旧设备的折余价值80000元,目前变现净收入100000元,新设备的投资额200000元,预计使用年限5年,更新设备的建设期为0,到第5年末新设备的预计净残值
最佳资本结构是指在一定条件下使企业平均资本成本率最低的资本结构。()
中国历史上,第一个肩负起土地改革大业的皇帝,便是北魏的孝文帝拓跋宏,而他就是那个迁都洛阳,修建了龙门石窟的鲜卑族皇帝。魏孝文帝拓跋宏颁布了中国历史上第一部均田法,此法的核心,便是中央直接统治土地,它一方面虽默认富民的土地所有权,但另一方面则按照土地国有的原
教学环节包括组织教学、复习检查、学习新内容、()、布置课外作业。
Areresponsestoodorsacquiredasafunctionoftheemotionalcontextinwhichtheyareinitiallyperceived?Researchers
LanguageDespitethefactthatmanydefinitionsoflanguagehavebeenproposed,succinctdefinitionsoflanguageusuallybringv
最新回复
(
0
)