首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序: #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
31
问题
有如下程序:
#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全国计算机二级
相关试题推荐
下面不属于软件工程的3个要素是()。
C++系统预定了4个用于标准数据流的对象,下列选项中不属于此类对象的是()。
有如下函数模板定义:templateTfunc(Tx,Ty){returnx*x+y*y;}在下列对func的调用中,错误的是()。
负责数据库中查询操作的数据库语言是
若有函数模板mySwap和一些变量定义如下:()。template<classT>voidmySwap(Tx,Ty);doubled1,d2;inti1,i2;下列对mySwap的调用中,错误的是
下列有关继承和派生的叙述中,正确的是()。
下列选项中不属于结构化程序设计原则的是()。
下面是重载为非成员函数的运算符函数原型,其中错误的是()。
己知表达式++a中的“++”是作为成员函数重载的运算符,则与++a等效的运算符函数调用形式为()。
将E-R图转换为关系模式时,实体和联系都可以表示为()。
随机试题
下列不属于交易性金融负债的是()
检查垂体和海绵窦病变的最佳方位是
上消化道是指
总会计师的权限包括()。
什么是数据立即存储图?
性别因素对心理行为活动的影响是()。
2010年6月份,某省居民消费价格总水平同比下降1.7%。其中,城市下降1.8%,农村下降1.4%;食品价格下降1.1%,非食品价格下降1.9%;消费品价格下降1.8%,服务项目价格下降1.3%。从月环比看,居民消费价格总水平比5月份下降0.5%;食品价格
有如下程序:#include<iostream>usingnamespacestd;classclock{public:clock():seconds(O){};clock&o
Howmanyfludeathsayearinthe1990’s?
•Youwillhearthreetelephoneconversationsormessages.•Writeoneortwowordsoranumberinthenumberedspacesontheno
最新回复
(
0
)