首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序; #inc1ude<iostream> using namespace std; class B{ public: virtual void show() {cout
有如下程序; #inc1ude<iostream> using namespace std; class B{ public: virtual void show() {cout
admin
2016-11-23
17
问题
有如下程序;
#inc1ude<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.show();}
void fun3(B b) {b.show(); }
int main() {
B b,*p=new D;
D d;
funl(p);
fun2(b);
fun3(d);
return 0;
}
程序的输出结果是( )。
选项
A、BBB
B、BBD
C、DBB
D、DBD
答案
C
解析
此题考查的是虚函数与多态性。在成员函数的声明前面加上virual关键字,即可把函数声明为虚函数;在C++中,一个基类指针可以用于指向它的派生类对象,而且通过这样的指针调用虚函数时,被调用的是该指针实际所指向的对象类的那个重定义版本。此题中,funl()和fun20的形参分别是基类的指针和引用,给funl()传入的实参是指向派生类对象的指针p,funl()将调用D类中的show0输出字符‘D’;给fun2()出入的实参是基类对象,fun2()调用类B中的show0输出字符‘B’;fun3()由于形参是基类对象,调用的始终都是基类的show0,输出字符‘B’。故最终输出结果是DBB。
转载请注明原文地址:https://kaotiyun.com/show/OzAp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
一个类中有______个析构函数。
下列关于虚基类的描述,错误的是
C++语言的基本控制结构为顺序结构、选择结构和【】。
【】是一种信息隐蔽技术,目的在于将对象的使用者和对象的设计者分开。
下面程序的结果是#include<iostream.h>classA{inta;public:A():a(1){}voidshowa(){cout<<a;
数据的逻辑结构有线性结构和【】两大类。
下面程序的功能是把316表示为两个加数的和,使两个加数分别能被13和11整除,在划线处应填入的选项是#include<iostream.h>voidmain(){
有如下程序:#include<iostream>usingnamespacestd;template<typenameT>Ttotal(T*data){Ts=0
对于循环队列,下列叙述中正确的是
关于关键字class和typename,下列表述中正确的是( )。
随机试题
硬件设备一般包括输入设备、处理设备、存储设备、输出设备、操作系统和机房设施。()
下列选项中,属于自助委托形式的有()。Ⅰ.柜台委托Ⅱ.电话委托Ⅲ.磁卡委托Ⅳ.网上委托
丙公司采用计划成本法对原材料进行日常核算。2015年12月初结存材料的计划成本为2000万元,材料成本差异账户贷方余额为30万元;本月入库材料的计划成本为10000万元,材料成本差异账户借方发生额为60万元;另有月末按计划成本暂估入账的材料200万元:本月
下列关于破产费用与共益债务清偿的表述中,符合《企业破产法》规定的有()。(2009年)
下列关于农产品的增值税税务处理错误的是()。
既不临海又不与邻国接壤的我国少数民族自治区是()。
2011年广东省各级各类教育(不含非学历培训)招生645.78万人,比上年下降2.1%;在校学生2197.61万人,增长0.1%;毕业生576.92万人,增长0.7%。其中,特殊教育学校招生0.36万人,在校生2.5万人;学前教育在园幼儿307.81万人。
下列选项中,不享有立法提案权的是
设n阶矩阵A和B满足A+2B=AB。已知B=,求矩阵A。
AnearthquakehitKashmironOct.8,2005.Ittooksome75,000lives,【B1】______130,000andleftnearly3.5millionwithoutfoo
最新回复
(
0
)