首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序; #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
75
问题
有如下程序;
#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<iomanip.h>voidmain(){for(inti=0;i<4;i++)cout<<end1<<setf
以下程序的执行结果是______。#include<iostream.h>classSample{intn;public:Sample(){}Sample(intm){n+m;)int
C++中,派生类继承了基类的全部数据成员和除【】之外的全部函数成员。
在结构化方法中,用数据流程图(DFC)作为描述工具的软件开发阶段是()。
设有下列二叉树:对此二叉树前序遍历的结果为
实体之间的联系可以归结为一对一的联系,一对多的联系与多对多的联系。如果一个学校有许多学生,而一个学生只归属于一个学校,则实体集学校与实体集学生之间的联系属于【】的联系。
下列关于栈的描述中错误的是()。
下列叙述中正确的是
下列函数的功能是判断字符串str是否对称,对称则返回true,否则返回false。请在画线处填上适当内容,实现该函数。boolfun(char*str)}inti:0,j=0;while(str[j])(6);
随机试题
中国古代称为“启明”的星是()。
Scientistshadtofindoutmanythings【C1】______theycouldlandmen【C2】______themoon.Theyneededmore【C3】______aboutspacecon
局部麻醉药中毒中期表现为肌肉震颤,其常见部位是
肺胀发病的主要病理因素是
申请护士执业注册时,不影响申请者申报的情况是()。
环境影响报告表的主要内容不包括()。
施工技术资料中工程名称、开竣工日期、编制单位、卷册编号等都是封面应包含的内容,并还应有()签字和盖公章。
Whatyousaidisnot______withwhatyoudo,whichhasabadeffectonourkids.
分析达利的《记忆的永恒》。
A、Gooutwithhiswife.B、Workforextrahours.C、Stayathomewithhiswife.D、Gooutwithhisboss.B信息明示题。女士建议周末出去玩,男士却说老板要求他
最新回复
(
0
)