首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序; #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
54
问题
有如下程序;
#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全国计算机二级
相关试题推荐
假定TestClass为一个类,则该类的拷贝构造函数的声明语句为()。
设有如下关系表:则下列操作正确的是()。
设R是一个2元关系,S是一个3元关系,则下列运算中正确的是()。
在声明派生类时,如果不显示地给出继承方式,缺省的类继承方式是私有继承private。已知有如下类定义:classTestClass{protected:voidfun(){}};classTe
对长度为N的线性表进行顺序查找,在最坏情况下,需要的比较次数是()。
使用输入输出操作符setw,能够控制()。
下列关于this指针的叙述中,正确的是()。
以下数据结构中,不属于线性数据结构的是()。
在软件生存周期中,能准确地确定软件系统必须做什么和必须具备哪些功能的阶段是
随机试题
照射量的SI单位是
下列各项,可出现脉压减小的是
用收入法核算GDP应包括的项目有()。
为了整合集团资源,2011年7月1日A公司合并集团内部的B公司,取得80%的股权,并于当日能够对B公司实施控制。有关合并业务资料如下:1.A公司出资的资产如下:2.B公司所有者权益构成如下:3.2011年度B公司实现净利润1000万元,并宣告分派
下列立法中,属于行政法的是()。
在应试教育的重压下,老师唯恐学生成绩不好影响他们的奖金和升职,学生面对老师海量的作业苦不堪言,甚至引发厌学的心理,这样的教育完全违背了()的宗旨。
数学家的爱情李伶伶①数学家是朋友送他的绰号,因为他对数字特别敏感,数学运算得特别快。朋友都说他是数学天才。可是数学天才的爱情之路却一直不顺利。②一次,他跟一个交
____________不是以某种具体的工程应用为目的,____________以揭开智力之谜为目的,____________人工智能的研究目标不应当是模仿人的某项具体技能,____________应当是具有充分的学习能力,____________可以不从
Mostpeoplewhotravellongdistancecomplainofjetlag.Jetlagmakesbusinesstravelerslessproductiveandmoreprone【C1】____
Nancybecameataxidriverbecause
最新回复
(
0
)