首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序: #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
23
问题
有如下程序:
#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/dg8p777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
下面程序的功能是输出数组s中最小元素,请填空。#include<iostream.h>voidmain(){intk,p,s[]={1,-9,7,2,-10,3};k=s[0];for(p=
如果在类模板的定义中有一个静态数据成员,则在程序运行中会产生______静态变量。
数据库设计中反映用户对数据要求的模式是
有如下程序:#include<iostream>usingnamespacestd;classBase{public:virtualvoidfunc1(){cout<<"Base1";}
若要在程序文件中进行标准输入输出操作,则必须在开始的# include命令中使用头文件【 】。
在深度为7的满二叉树中,叶子结点的个数为
软件生命周期包括8个阶段。为了使各时期的任务更明确,又可分为3个时期:软件定义期、软件开发期、软件维护期。编码和测试属于【】期。
下列运算符中,()运算符在C++中不能重载。
插入排序算法的主要思想是:每次从未排序序列中取出一个数据,插入已排序序列中的正确位置。Insert类的成员函数sort()实现了插入排序算法,请填空。classInsert{public:Insert(int*b0,int
随机试题
()又称横幅式广告。
A.气虚血少B.气虚血瘀C.气虚出血D.气随血脱E.血虚气亏气摄血功能失常可见
有关酶活性中心的叙述,错误的是
变直径圆管流,细断面直径d1,粗断面直径d2=2d1,粗细断面雷诺数的关系是()。
甲公司2013年度利润表各项目如下:主营业务收入1800万元,其他业务收入360万元,主营业务成本1500万元,其他业务成本200万元,期间费用共计120万元,资产减值损失65万元,公允价值变动损益—50万元,投资收益35万元,营业外收入160万元,营业外
降低过程成本应包括()。
急性软组织损伤后,间隔多长时间开始活动为宜?()
19世纪90年代以后,中国民族资本主义企业迫切要求挣脱外国资本主义和国内封建势力的压迫和束缚,为在中国发展资本主义开辟道路。在这样的历史条件下,资产阶级的改良思想迅速地高涨起来,逐步形成变法维新的思潮,并在1898年发展成一场变法维新的政治运动。戊戌维新运
若变量i的初值为8,则下列循环语句中循环体的执行次数为DoWhilei
若网络的各个节点均连接到同一条通信线路上,且线路两端有防止信号反射的装置,这种拓扑结构称为()。
最新回复
(
0
)