首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序: #include using namespace std; class B{ public: virtual void show(){cout
有如下程序: #include using namespace std; class B{ public: virtual void show(){cout
admin
2020-10-21
59
问题
有如下程序:
#include
using namespace std;
class B{
public:
virtual void show(){cout<<’’B’’;}
};
class D:public B{
public:
void show(){cout<<’’D’’;}
};
void funl(B *ptr){ptr->show();}
void flun2(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
解析
在某基类中声明为vinual并在一个或多个派生类中被重新定义的成员函数,本题中定义类B的对象h、对象指针*p=flew D以及类D的对象cl;执行funl会调用派生类的show函数,因为show函数为虚函数,而调用fun2、fun3仍然为基类的show函数,所以本题答案为C。
转载请注明原文地址:https://www.kaotiyun.com/show/cuyp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
已知类MyClock中未显式定义构造函数,并重载了加法运算符,使得下面的语句序列能够正确执行:MyClockc1,c2;//…..c2=c1+10:由此可知:为类MyClock重载的“+”运算符函数的声明是()。
请使用VC6或使用【答题】菜单打开考生文件夹proj1下的工程proj1。程序中位于每个“//ERROR****found****”之后的一行语句有错误,请加以改正。改正后程序的输出结果应为:Name:SmithAge:21ID:
对C++编译器区分重载函数无任何意义的信息是()。
必须用一对大括号括起来的程序段是()。
若有如下类声明:classMyClass{public:MyClass(){cout
有如下类定义:classAA{inta;Public:AA(intn=0):a(n){}};classBB:publicAA{public:BB(intn)
执行下列语句段后,输出字符“*”的个数是()。for(inti=50;i>l;--i)cout
请使用VC6或使用【答题】菜单打开考生文件夹prog1下的工程prog1。此工程中包含程序文件main.cpp,其中有类Score(“成绩”)和主函数main的定义。程序中位于每个“//ERROR****found****”之后的一行语句有错误,请加以改
以下描述中,不是线性表顺序存储结构特征的是()。
随机试题
金融监管是指国家金融管理部门为达到稳定货币、维护金融业正常秩序等目的,依照国家法律、行政法规的规定,对金融机构及其经营活动实施外部监督、检查和对其违法行为进行处罚的一系列行为。根据上述定义,下列属于金融监管的是:
输卵管粘膜层为:
A、猛性龋B、磨牙症C、遗传因素D、口腔固有菌群E、牙菌斑牙周病的局部促进因素是
牙周手术的垂直切口的最佳部位应选择在
在采用新股上网定价发行方式时,若同一证券账户多次申购,则全部申购均视作无效。()
企业甲与企业乙签订合同,为其提供原材料供应。企业乙若担心企业甲因不能如期提供原材料而给自己的生产造成损失,可以要求企业甲向银行申请()。
承兑交单的托收方式只适用于()的跟单托收。
在职务设计中,有意识地赋予员工更多的责任,自主权和控制权的方法被称之为()。
"Whereistheuniversity(大学)?"ThisisaquestionthatmanyvisitorstoCambridge(剑桥)ask.Butnoonecangivethema【C1】______
Atatimewhentheworldisshortofcausesforcelebration,hereisacandidate:withinthenextfewmonthswomenwillcrossth
最新回复
(
0
)