首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序; #include using namespace std; class B{ public: virtual void show(){cout
有如下程序; #include using namespace std; class B{ public: virtual void show(){cout
admin
2015-09-14
47
问题
有如下程序;
#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/kqNp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
有如下程序#include<iostream.h>voidmain(){charch[2][5]={"6937","8254"},*p[2];inti,j,s=0;
对于模板定义关键字class和typename说法不正确的是
拷贝构造函数的参数一般是
虚函数必须是类的【】。
以下程序的输出结果是【】。#include<iostream>usingnamespacestd;voidfun(){staticinta=0;a+=2;cout<<a
下列叙述中正确的是
关于二义性的描述错误的是()。
由关系数据库系统支持的完整性约束是指______和参照完整性。
若要定义一个只允许本源文件中所有函数使用的全局变量,则该变量需“要使用的存储类别是()。
打开文件时可单独或组合使用下列文件打开模式:①ios②ios_base::aopiosase::binary③iosbase::④iosbase::out若要以二进制读方式打开一个文件,需使用的文件打开模式为()。
随机试题
提出“蛇形线是最美的线条”这一命题的美学家是()
下列划线词语解释正确的是()
A、Theshapeofthecubesused.B、Thesizeoftheobjectsshown.C、Thenumberoftimesofrepeatingtheprocess.D、Theweightof
重型胎盘早剥主要表现有:
Calot三角组成包括肝脏下缘、胆囊管和
以下关于施工组织总设计编制程序的说法,正确的有()。
因风吹、日晒等自然因素造成的建筑物价值损失,属于建筑物的()。
小兰在10月的某日早晨搭车去某地,发现当日大雾,沿途稍远的树木、道路看不清,接近城镇时,雾越来越小,经过城镇,基本无雾,再行,雾越来越大,形成了“田野有雾、城镇无雾”的现象。这种现象是由于()。
考生文件夹下有一个数据库文件“samp2.accdb”,其中存在已经设计好的一个表对象“tTeacher”。请按以下要求完成设计。创建一个查询,计算并输出教师最大年龄与最小年龄的差值,显示标题为“m_age”,将查询命名为“qT1”。
Technology,Costs,LackofAppealSlowE-textbookAdoptionA)TextbooksareoftenaluxuryforcollegeseniorVatellMartin.Th
最新回复
(
0
)