首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序: #include using namespace std; class B { public: virtual void show() { cout
有如下程序: #include using namespace std; class B { public: virtual void show() { cout
admin
2020-06-29
49
问题
有如下程序:
#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=newD以及类D的对象d;执行fun1会调用派生类的show函数,因为show函数为虚函数,而调用fun2、fun3仍然为基类的show函数,所以本题答案为C。
转载请注明原文地址:https://kaotiyun.com/show/Gl8p777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
下面程序的结果为 #include"iostream.h" voidchange(inta,intb) { inttemp; temp=a; a=b; b=temp; } voidmain
执行下面语句后,输出字符“#”的个数是()。for(inti=50;i>1;--i)cout
请将下列类定义补充完整。classBase{public:voidfun(){cout<<"Base::fun"<<endl;}};classDerived:publicBase{public:voi
下列程序的输出结果为()。main(){int a=4,b=3,c=1,d;d=a&&b&&b>c-!0;cout<<d;}
以下()成员函数表示纯虚函数。
下列程序的执行结果是()。#include<iostream.h>#include<stdlib.h>classTestClass{public:intx,y;T
在面向对象方法学中,直接反映了用户对目标系统的要求的模型是【】。
C++语言的参数传递机制包括传值和传地址两种,如果调用函数时,需要改变实参或者返回多个值,应该采取【】方式。
下面描述中错误的是()。A)系统总体结构图支持软件系统的详细设计B)软件设计是将软件需求转换为软件表示的过程C)数据结构与数据库设计是软件设计的任务之一D)PAD图是软件详细设计的表示工具
下列数据结构中,能够按照“先进后出”原则存取数据的是()。
随机试题
常用的非随机抽样不包括()
金刚烷胺不能治疗哪些疾病:
患者,女,26岁。淋雨后发热、咳嗽。查体:T39℃,左肺听诊有湿哕音。实验室检查:WBC12×109/L。临床拟做痰培养,合格的培养结果可能是
麻黄是治疗下列哪一种病证的主药
男性,20岁。施工时左大腿开放性损伤,未发现骨折,行简单的创口缝合。2天后感到伤部包扎过紧,疼痛剧烈,患肢肿胀明显,缝合处血性液体渗出,恶臭。导致这种感染最主要的原因是
《反洗钱法》的主要内容有()。
出售型房地产开发投资项目,对投资者来说属于(),因此只有建设期而没有经营期。
左边:右边
个体乳酸阈强度是发展无氧耐力训练的最佳强度。()
AdvertisingI.Thedefinitionofadvertising—(1)______butencouragingpresentationofgoodsand(1)______servicesII.The
最新回复
(
0
)