首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序; #include<iostream> using namespace std; class B{ public: virtual void show(){cout<<’’B’’;} };
有如下程序; #include<iostream> using namespace std; class B{ public: virtual void show(){cout<<’’B’’;} };
admin
2019-06-12
31
问题
有如下程序;
#include<iostream>
using namespace std;
class B{
public:
virtual void show(){cout<<’’B’’;}
};
class D:public B{
public:
void show(){cout<<’’D’’;}
};
void funl(B*ptr){ptr->show();}
void fun2(B&ref){ref.show0;}
void fun3(B b){b.show();}
int main(){
B b,*p=new D;
D d;
fun1(p);
fun2(b);
fun3(d);
return 0;
}
程序的输出结果是( )。
选项
A、BBB
B、BBD
C、DBB
D、DBD
答案
C
解析
此题考查的是虚函数与多态性。在成员函数的声明前面加上virual关键字,即可把函数声明为虚函数:在C++中,一个基类指针可以用于指向它的派生类对象,而且通过这样的指针调用虚函数时,被调用的是该指针实际所指向的对象类的那个重定义版本。此题中,fun1()和fun2()的形参分别是基类的指针和引用,给fun1()传入的实参是指向派生类对象的指针p,funl()将调用D类中的show()输出字符‘D’;给fun2()出入的实参是基类对象,fun2()调用类B中的show()输出字符‘B’;fun3()由于形参是基类对象,调用的始终都是基类的show(),输出字符‘B’。故最终输出结果是DBB。
转载请注明原文地址:https://jikaoti.com/ti/Q6A0FFFM
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
下面关于指针的说法中错误的是()。
假定TestClass为一个类,则该类的拷贝构造函数的声明语句为()。
执行下列语句:#includeusingnamespacestd;intmain(){intx:3:if(x=5)cout
设程序如下:#includeusingnamespacestd;intmain(){int**p,*q,r=10;q=&r;p=&q;cout
待排序的关键码序列为(33,18,9,25,67,82,53,95,12,70),要按关键码值递增的顺序排序,采取以第一个关键码为基准元素的快速排序法,第一趟排序后关键码33被放到第()个位置。
在TestClass类的定义中,对赋值运算符=进行重载。请将画线处缺失的部分补充完整。___________TestClass::operator=(constTestClass&rhs){if(this==&rhs)return
重载的流运算符函数应该被定义为类的______________函数。
针对数组定义intdata[10];,下列表述中错误的是()。
Staff类含有int型数据成员ID,两个Staff象相等是指它们的ID相同。下面的函数重载了运算符“==”,它用来判断两个Staff对象是否相等,相等时返回true,否则返回false。请将横线处缺失部分补充完整。boolStaff::St
下列语句的作用是计算正整数n的各位数字之和,例如:n=123,sum=1+2+3。请将下列语句补充完整。Do{Sum+=【7】:n=n/10;)while(n!=0)
随机试题
治疗脑膜白血病首选药物为
该小儿的诊断可能是治疗应首选
王女士。48岁,驾驶员,月经过多一年余,这次月经出血量明显增多,已持续3周,因贫血就医。有高血压史、冠心病史。王女士又向赵医生了解,她的治疗原则是
建市[2003]86号规定:工程项目施工应建立以( )为首的生产经营管理系统。
2002年12月31日,中央登记公司开始发布中国债券指数系列,下列说法正确的是()。Ⅰ.该指数系列以2002年12月31日为基日Ⅱ.基期指数为100Ⅲ.该债券体系覆盖了交易所市场和银行间市场发行额在50亿元人民币以上、待偿期限在1年以上的债
2016年10月,国务院办公厅公布了《互联网金融风险专项整治工作实施方案》。以下不属于该《方案》提出的工作原则的是()。
本餐厅特供的番茄浓汤具有极高的营养价值。一碗热番茄浓汤的维生素C含量,明显高于一杯杏仁椰奶或一杯鲜榨胡萝卜汁。以下哪项如果为真,最能说明上述广告会产生误导?()
Writeanessayonenvironment.Inyouressay,makefulluseoftheinformationprovidedbelowOutline:(1)harmofenvir
[A]Istherestillaplaceforthetiddlers?"That’sanexplicityes,"saysBobSheaofNACUBO,"butdothereneedtobemerg
Comparisonsweredrawnbetweenthedevelopmentoftelevisioninthe20thcenturyandthediffusionofprintinginthe15thand1
最新回复
(
0
)