首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序; #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
49
问题
有如下程序;
#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://kaotiyun.com/show/cQ8p777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
下面关于派生类的描述中错误的是()。
待排序的关键码序列为(33,18,9,25,67,82,53,95,12,70),要按关键码值递增的顺序排序,采取以第一个关键码为基准元素的快速排序法,第一趟排序后关键码33被放到第()个位置。
已知递归函数fun的定义如下:inifun(intn){if(n
以下程序段是函数返回a所指数组中最大的值所在的下标值,横线处的语句为()。fun(int*a,intn){inti,j=0,k;k=j;for(i=j;ia[k])______
数据结构分为逻辑结构和存储结构,循环队列属于__________结构。__________
有如下类说明:classTestClass{intx:public:TestClass(intn){x=n;}};classTestClass1:publicTestClass{
下面重载乘法运算符的函数原型声明中错误的是()。
以下数据结构中,不属于线性数据结构的是()。
C++中通常和一个运算符连用,构成一个运算符函数名的C++关键字为__________。
类的析构函数的作用是______。
随机试题
下列选项有温胃止呕作用的是
A.正规胰岛素B.胰高血糖素C.苯乙双胍D.葡萄糖E.肾上腺皮质激素
ARDS常发生在
A.伤寒B.中毒型菌痢C.流行性乙型脑炎D.急性病毒性肝炎E.肾综合征出血热血白细胞增多,异型淋巴细胞比例常高于10%,多见于
测血压时,应该注意
给定资料1.2017年5月12日,W集团董事长王先生发表题为《努力践行文化自信》的主旨演讲,以下是内容节选:W集团长期坚持对员工进行中国优秀传统文化教育,逐步建立员工对中国文化的自信。我们是全国第一家集体学习《论语》的企业,2005年我就推荐员
(2012年真题)下列选项中,属于唐朝法律形式的有()。
在分配关系上真正体现了人与人之间平等的分配原则是()
简述NetBIOS与TCP/IP关系。NetBIOS包括哪些服务功能?
Thereismuchdiscussiontodayaboutwhethereconomicgrowthisdesirable.Atanearlierperiod,ourdesireformaterialwealth
最新回复
(
0
)