首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序: #include using namespace std; class B { public: virtual void show() { cout
有如下程序: #include using namespace std; class B { public: virtual void show() { cout
admin
2021-05-06
18
问题
有如下程序:
#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/PFfp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
有如下程序:#include<iostream>#include<iomanip>usingnamespacestd;intmain(){cout.fill(’*’);cout<<left<<setw(4)<<123<<"OK"<<en
使用VC6打开考生文件夹下的源程序文件modi3.epp。此程序的运行结果为:InCDerive’sdisplay().b=1InCDerive2’sdisplay().b=2其中定义的类并不完整,按要求完成下列操作,
使用VC6打开考生文件夹下的源程序文件modi2.cpp。阅读下列函数说明和代码,补充空出的代码。sum(intn)计算所有n的因子之和(不包括1和自身)。注意:不能修改程序的其他部分,只能补充sum()函数。1#include<iost
下列选项中不属于结构化程序设计原则的是()。
在带链队列中,经过一系列正常的操作后,如果front=rear,则队列中的元素个数为
若为Fraction类重载前增1运算符++,应在类体中将其声明为()。
当循环队列非空且队尾指针等于队头指针时,说明循环队列已满,不能进行入队运算。这种情况称为()。
下列队列的描述中,正确的是()。
下列符号中可以用做C++标识符的是()。
以下程序中调用cin函数给变量a输入数值的方法是错误的,其错误原因是()。#includewildmajn(){in!*p,*q,a,h;p=&a;coutp;
随机试题
哪项除外,均为细菌产生的侵袭性酶()
当出现下列情况时,可以考虑利用股指期货进行多头套期保值()。Ⅰ.投资银行、股票承销商与上市公司签署了证券包销协议Ⅱ.投资者向证券经纪部借入证券进行了抛空Ⅲ.投资者在股票或股指期权上持有空头看涨期权Ⅳ.投资者在股票或股指期权上持有
《前赤壁赋》继承和发展的赋体结构手法是()
世纪人人健康的总体目标是
将二进制小数0.1010101111转换成相应的八进制数,其正确结果是()。
美国政府绩效评价的内容主要包括()。
票据当事人提示付款遭到拒绝或有其他法定原因存在时,向其前手请求偿还票据金额及其他法定费用的权利是付款请求权。()
常用的薪酬调查方式有()
在()发现的汉代冶铁遗址中,发现的燃料除木材外还有原煤和煤饼,这是现在所知的我国历史上最早用煤的遗存。
Lookatthetenstatementsforthispart.Youwillhearastoryaboutajewellerydesigner.Decidewhethereachstatemen
最新回复
(
0
)