首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序; #include using namespace std; class B{ public: virtual void show(){cout
有如下程序; #include using namespace std; class B{ public: virtual void show(){cout
admin
2020-04-07
80
问题
有如下程序;
#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);
return 0;
}
程序的输出结果是( )。
选项
A、BBB
B、BBD
C、DBB
D、DBD
答案
C
解析
此题考查的是虚函数与多态性。在成员函数的声明前面加上virual关键字,即可把函数声明为虚函数;在C++中,一个基类指针可以用于指向它的派生类对象,而且通过这样的指针调用虚函数时,被调用的是该指针实际所指向的对象类的那个重定义版本。此题中,fun1()和fun2()的形参分别是基类的指针和引用,给fun1()传入的实参是指向派生类对象的指针p,fun1()将调用D类中的show()输出字符‘D’;给fun2()出入的实参是基类对象,fun2()调用类B中的show()输出字符‘B’;fun3()由于形参是基类对象,调用的始终都是基类的show(),输出字符‘B’。故最终输出结果是DBB。
转载请注明原文地址:https://kaotiyun.com/show/Ok8p777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
有以下程序:#include<iostream>usingnamespacestd;classMyClass{intm;public:staticintn;
耦合性和内聚性是对模块独立性度量的两个标准。下列叙述中正确的是
有如下程序#include<iostream.h>intfunc(inta,intb){return(a+b);}voidmain(){intx=2,y=5,
以下程序的输出结果是()。#include<iostream>#include<stdlib>usingnamespacestd;voidfunc(char**m){++m;cout<
数据库设计分为需求分析阶段、______阶段、逻辑设计阶段、物理设计阶段、数据库实施阶段、数据库运行和维护阶段。
在设计程序时,应采纳的原则之一是
下列代码段声明了3个类:classPerson();classStudent:publicPerson{};classUndergraduate:Student{};下列关于这些类之间关系的描述中,错误的是()。
分析以下程序的执行结果【】。#include<iostream.h>classS{intA[10];public:int&operator()(int);}
空字符串的长度是_____。
随机试题
市场风险的风险因素是()。
驻车制动器起什么作用?有哪几种形式?
环境空气质量二类功能区某环境空气现状监测点SO2日平均浓度监测结果如表1所示,现状评价超标率统计正确的是()。
在屋面防水工程施工技术要求中,合成高分子防水卷材采用()施工。
出售固定资产的净收益应转入“营业外收入”账户。()
尼克.胡哲1982年出生于澳大利亚墨尔本,他天生没有四肢,这种罕见的现象医学上称为海豹肢症,在尼克的成长过程中,他不仅要面对来自学习和生活的各种挑战,而且还要与自卑和孤独作斗争。他会问,为什么我与周围其他孩子不同?为什么我一出生就没有手足?随着尼克的成长,
下列关于党史上的“第一”,表述错误的是()。
构建社会主义和谐社会,关系到
最著名的国产:文字处理软件是
Theartistspentyearsonhismonumentalpainting,whichcoveredthewholeroofofthechurch,thebiggestinthecountry.
最新回复
(
0
)