首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序; #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
51
问题
有如下程序;
#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.h>voidmain(){inta=5,b=0,c=0;if(a=b+c)cout<<"***"<<endl:elsecou
下列程序的输出结果是【】。#include<iostream>usingnamespacestd;intmain(){intdata=1;int&r=da
.、.*、->、::、?:这五个运算符______重载。
下面程序的运行结果为#include<iostream.h>classA{intnum;public:A(int){num=i;}A(A&a){hum=a.num++;
下面程序的运行结果为()。#include<iostream.h>classA{intnumpublic:A(inti){num=i;}A(A&a){Bum=a.num++;}v
在软件开发中,需求分析阶段产生的主要文档是
下面不属于软件设计阶段任务的是
程序的测试方法分为静态分析和动态分析。使用测试用例在计算机上运行程序,使程序在运行过程中暴露错误,这种方法称为【 】。
随机试题
__________是指与处理人际关系有关的技能,即理解、激励他人并与他人共事的能力。
在西方国家行政职能发展演变的过程中,实行公共服务职能社会化、市场化是在【】
常用以诊断肾病的腧穴是常用以诊断胆病的腧穴是
下列专治脾肺气滞的药物是()
A.三萜B.二萜C.环烯醚萜醇D.环烯醚萜苷E.裂环环烯醚萜苷栀子苷是
确定地基土的承载力的方法中,下列哪个原位测试方法的结果最可靠?
平屋面材料找坡的排水坡度宜为()。
中国证监会领导干部离职后()年内,不得到与原工作业务直接相关的机构任职。
某市在三家医院启动警医联动协作机制试点,设置“驻医”警务室,医院与“驻医”民警对可能发生医患争议的情形分类定级,逐级跟踪,防止医疗纠纷和医患矛盾激化升级。民警在事态研判的过程中,下列做法恰当的是()。
HowtoManageMoney1.理财对大学生来说是非常重要的2.理财的方法:记账规划开支、平时做兼职……
最新回复
(
0
)