首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序: #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
56
问题
有如下程序:
#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/j2yp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
下列叙述中,错误的是
在下列枚举符号中,用来定位文件开始位置的方式是
下面对对象概念描述正确的是
在一个程序文件中有如下语句:externintvar;关于这个语句,下列表述中错误的是
有两个关系R和T如下:则由关系R得到关系T的操作是()。
有如下两个类定义:classAA{};classBB{AAv1,*v2;BBv3,*v4;};其中定义错误的成员变量是
在C++中,编译系统自动为一个类生成默认构造函数的条件是
若要对类Value中重载的类型转换运算符long进行声明,下列选项中正确的是
若要对Data类中重载的加法运算符成员函数进行声明,下列选项中正确的是()。
有如下说明:inta[10]={1,2,3,4,5,6,7,8,9,10},*p=a;则数值为9的表达式是()。
随机试题
滚制圆筒形工件,在调整辊轴的距离上,上辊轴的升降应该是两端相同的,如果不相同,被调整的辊轴就不能与其他的辊轴互相平行而产生倾斜,从而使滚制的圆筒________。
瘿病的病位是
当进行彩色多普勒检查时,如彩色血流显示不佳,有许多辅助调节。下列项目中,哪项是重要调节
某企业有一在建工程,于2005年10月l日带抵押债务转让。已知该在建工程占地面积10000m2,土地使用年限为2003年10月1日~2043年9月30日,规划容积率为5%,1~4层规划为商业,建筑面积为2万m2;5~20层规划为写字楼,建筑面积为3万m2。
下列关于图书馆总平面布置的叙述中,哪项是错误的?[2008年第35题]
目前我国对建设项目环境影响评价的管理程序包括()。
企业资本公积包括()。
关于公司型股权投资基金,以下说法正确的是()。Ⅰ.如果将基金委托给第三方基金管理人管理,则基金投资者无须承担基金债务责任Ⅱ.公司型基金是独立的企业法人,应缴纳企业所得税Ⅲ.公司型基金只能以股份有限公司形式设立Ⅳ.公司型基金可以发
当事人向上一级人民法院申请再审,应当在判决、裁定或者调解书发生法律效力后()内提出。
Youwillheartwotelephoneconversations.Writedownonewordornumberinthenumberedspacesontheformsbelow.CONVERSA
最新回复
(
0
)