首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序: #include using namespace std; class B { public: virtual void show() { cout
有如下程序: #include using namespace std; class B { public: virtual void show() { cout
admin
2020-05-14
33
问题
有如下程序:
#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://www.kaotiyun.com/show/IS8p777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
已知:inta,b;下列switch语句中,()是正确的。
有如下函数模板声明:template<typenameT>TMax(Ta,TB){return(a>=B)?a:b;}下列对函数模板Max的调用中错误的是A)Max(3.5,4.5)B)Max(3.5
下面程序的功能是将从键盘输入的一对数,由小到大排序输出,当输入一对相等数时结束循环,在划线处应填入的选项是#include<iostream.h>voidmain(){inta,b,t;
为了使程序的输出的正确结果为:Nowis2004.7.1010:10:10.那么应在下列程序划线处填入的正确语句是()。那么应在下列程序划线处填入的正确语句是()。#include<iostream>
下列关于C++函数的叙述中,正确的是______。
下列模式中,能够给出数据库物理存储结构与物理存取方法的是______.
下列关于new运算符的描述中错误的是()。
下列关于虚函数的说法中,正确的是()。
在数据库设计中,将E-R图转换为关系模式的过程属于()。
随机试题
从甲地到乙地原来每隔42米要装一根电线杆,加上两端的两根,一共有61根电线杆,现在改成每隔56米装一根电线杆,若两端的两根不移动,则中途有多少根不需要移动?()
A.固位体B.桥体C.固定连接体D.活动连接体E.小连接体恢复缺失牙形态和功能的是
下列关于防治海岸工程建设项目对海洋环境的污染损害的说法,符合《中华人民共和国海洋环境保护法》规定的是()。
提前确定给付年限的年金是( )年金。
纳税人在熟知税法及其规章制度的基础上,在不直接触犯税法的前提下,通过对筹资活动、投资活动、经营活动等的巧妙安排,达到规避或减轻税负的行为是( )。
根据《商业银行贷款损失准备管理办法》,贷款损失准备是指商业银行在成本中列支、用以抵御贷款风险的准备金,不包括在利润分配中计提的—般风险准备。()
甲市的A、B两店为实行统一核算的连锁店。根据增值税法律制度的规定,A店的下列经营活动中,不属于视同销售货物行为的是()。
你对某企业进行税务检查时.有企业人员私下送你一万块钱。请你报税时少报一些,你该怎么办?
按明文的处理方法,密码系统可以分为分组密码和【 】。
Computerscanprovideinformationwhichallowsbusinessmento______theirlistofgoods,byshowingwhichitemsarebeingsolda
最新回复
(
0
)