首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序: #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
36
问题
有如下程序:
#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/dg8p777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
()复审应该把重点放在系统的总体结构、模块划分、内外接口等方面。
以下选项中,()是合法的用户标识符。
下列关于虚函数与函数重载区别的叙述中不正确的是
设i,j,k均为int型变量,则执行完for(i=0,j=10;i<=j;i++,j--)k=i+j语句后,k的值为【】。
下列属于大型数据库系统的是()。
A、 B、 C、 D、 A函数模板定义的一般格式为:Template<typename类型参数>返回类型函数名(模板形参表){函数体}
在关系数据库中,把数据表示成二维表,每一个二维表称为______。
友元运算符obj1>obj2被C++编译器解释为()。
长度为n的顺序存储线性表中,当在任何位置上插入一个元素概率都相等时,插入一个元素所需移动元素的平均个数为______。
算法分析的目的是()。
随机试题
汇票遭到拒付是指()
A.卵黄囊B.胆囊C.淋巴管D.肝脾E.骨髓胚胎第5月时主要造血器官是
兰艺咖啡店是罗飞、王曼设立的普通合伙企业,合伙协议约定罗飞是合伙事务执行人且承担全部亏损。为扭转经营亏损局面,王曼将兰艺咖啡店加盟某知名品牌,并以合伙企业的名义向陈阳借款20万元支付了加盟费,陈阳现在要求还款。关于本案,下列哪一说法是正确的?
图示组合结构中,杆DE的轴力为( )。
下列各项,不需采用追溯调整法进行会计处理的有()。
企业应当定期或者至少于每年年度终了,对其他应收款进行检查,预计其可能发生的坏账损失,并计提坏账准备。()
在设计KPI时,解决“工作产出项目过多”的问题,不宜采用的方法是()
下列哪项不是脊休克的表现
《中华人民共和国合同法》第67条规定:“当事人互负债务,有先后履行顺序,先履行一方未履行的,后履行一方有权拒绝其履行要求。先履行一方履行债务不符合约定的,后履行一方有权拒绝其相应的履行要求。”试分析该条法律规定。
For(71)service,weneedavirtual-circuitsubnet.Letusseehowthatworks.Theideabehindvirtualcircuitsistoavoidhavi
最新回复
(
0
)