首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序; #include using namespace std; class B{ public: virtual void show(){tout
有如下程序; #include using namespace std; class B{ public: virtual void show(){tout
admin
2019-02-22
24
问题
有如下程序;
#include
using namespace std;
class B{
public:
virtual void show(){tout<<"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://jikaoti.com/ti/LQt0FFFM
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
下列程序的执行结果是______。#include<lostream.h>inta;intsum_a(void){a=a+5;returna;}voidmain(void)
下列关于C++语言类的描述中错误的是
下述关于数据库系统的叙述中正确的是
以下程序的执行结果是______。#inelude<iostream.h>classSample{public:intx;inty;voiddisp()
下列程序的运行结果是______。#include<iostream.h>classBase{public:voidf(intx){cout<<"Base:"<<x<<endl;}};c
若按功能划分,软件测试的方法通常分为白盒测试方法和______测试方法。
有如下程序:#include<iostream>usingnamespacestd;classpoint{intx,y;public:point(intvx,intvy){x=vx;
有如下数组声明:intvalue[30];,下标值引用错误的是
如果派生类以protected方式继承基类,则原基类的protected成员和public成员在派生类中的访问属性分别是
随机试题
患者左前臂部有一肿块,呈扁平隆起,质地柔软,状如海绵,皮色略紫,按之肿块可缩小,其诊断是()
新生儿溶血症(Rh溶血)的诊断AB0血型鉴定
4个月小儿应会的动作2岁小儿应会的动作
[2006年第1题]为工程项目贷款所支付的利息,属于下列哪一项费用?
下列关于应收账款周转率的说法中,正确的有()。Ⅰ.应收账款周转率说明应收账款流动的速度Ⅱ.一般来说,应收账款周转率越高,平均收账期越短,说明应收账款的收回越快Ⅲ.应收账款周转率是企业从取得应收账款的权利到收回款项转换为现金所需要的时间Ⅳ.应
企业取得的各项免税收入对应的各项成本费用,除另有规定者外,可以在计算企业应纳税所得额时扣除。()
按照《中华人民共和国招标投标法》的规定,下列说法中错误的是(46)。
Tompassedtheshop______.WhydidTomstopinfrontoftheshop?Becausehewanted______.
A、Theydon’thaveenoughmoneyforextracopies.B、Theydon’thavetimetoprintthenewcatalogue.C、Theycannotgetintouchw
Whowasorderedtotakealeaveofabsence?
最新回复
(
0
)