首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序: #include using namespace std; class B { public: virtual void show() { cout
有如下程序: #include using namespace std; class B { public: virtual void show() { cout
admin
2020-05-14
33
问题
有如下程序:
#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);
delete p;
return 0;
}
执行这个程序的输出结果是( )。
选项
A、BBB
B、BBD
C、DBB
D、DBD
答案
C
解析
在某基类中声明为 virtual 并在一个或多个派生类中被重新定义的成员函数,本题中定义类B的对象 b、对象指针*p=new D以及类D的对象d;执行fun1会调用派生类的show函数,因为show函数为虚函数,而调用fun2、fun3仍然为基类的show函数,所以本题答案为C。
转载请注明原文地址:https://kaotiyun.com/show/dg8p777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
在C++中,用于实现运行时多态性的是______。
函数fun的返回值是()。fun(char*a,char*b){intnum=0,n=0;while(*(a+num)!=’\0’)num++;while(b[n]){*(a+num)=b[n];num+
有如下的类的模板定义:template<classT>classMyClass{private:Tnumber;public:MyClass(Tk);…};
数据库的逻辑模型设计阶段的任务是将______转换成关系模式。
下面有关重载函数的说法中正确的是
有如下程序:#include<iostream>usingnamespacestd;classBase{public:virtualvoidfunc1(){cout<<"Base1";}
某二叉树中度为2的结点有18个,则该二又树中有______个叶子结点。
类MyClass的定义如下:classMyClass{public:MyClass(){value=0;}SetVariable(inti){value=i;}private:intvalue;
下列类的定义中,有()处语法错误。classBase{public:Base(){}Base(inti){data=i;}privat
设二叉树如下:则后序序列为
随机试题
肾病综合征的病理生理特点是肾小球________,导致________。
曲线y=x3-3x2+2x+1的拐点为_______.
AMTXB顺铂C表柔比星D放线菌素DE博来霉素以心脏毒性为主的化疗药是
山茱萸具有的功效是()
下列描述属于《行政许可证》中的信赖保护原则的是()
某施工企业组织结构如下图所示,该施工企业采用的组织形式是()。
纳税人申报的计税依据明显偏低,又无正当理由的。税务机关有权核定其应纳税额。 ( )
为了规范行政许可的设定和实施,保护公民、法人和其他组织的合法权益,维护公共利益和社会秩序,公安机关对大型群众性活动实施行政许可及监督管理。下列活动需公安机关许可的是()。
若关系模式中存在非主属性对码的部分依赖,则该关系模式属于(54)。
EveryDogHasItsSayKimikoFukuda,aJapanesegirl,alwayswonderedwhatherdogwastryingtosay.Wheneversheputonma
最新回复
(
0
)