首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序: #include<iostream> using namespace std; class Base { public: void funl(){cout<<"Basea";} v
有如下程序: #include<iostream> using namespace std; class Base { public: void funl(){cout<<"Basea";} v
admin
2017-10-17
37
问题
有如下程序: #include<iostream> using namespace std; class Base { public: void funl(){cout<<"Basea";} virtual void fun2(){tout<<"Base\n";} }; class Derived:public Base { public: void funl() {cout<<"Derived\n"; } void fun2() {cout<<"Derived\n"; } }; void f(Base& b) {b.funl(); b.fun2(); } int main() { Derived obj; f(obj); return 0; } 执行这个程序的输出结果是
选项
A、Base Base
B、Base Derived
C、Derived Base
D、Derived Derived
答案
B
解析
本题考查的是虚函数的概念。在C++中,一个派生类的对象可以被它的任何一个基类的指针所指向(或被基类类型的引用所引用)。若基类和派生类中存在一模一样的成员函数,那么通过该基类指针(或引用)调用这样的成员函数,究竟是应该调用基类中的还是调用派生类中的呢?答案是:若这个成员函数被定义成虚函数,那么就调用派生类中的;否则会调用基类中的。本题是一个典型的例子,funl()是一般成员函数,fun2()是虚函数,而且在派生类与基类中都存在两个这样的函数。在f()函数中,形参b是一个基类的引用,它引用的是主函数中定义的派生类对象obi。所以在调用fun()时,运行的是基类的版本,而fun2()运行的是派生类的版本。故选项 B中的结果是正确的。
转载请注明原文地址:https://kaotiyun.com/show/KWAp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
下列说法正确的是
决定C++语言中函数的返回值类型的是
下列叙述中正确的是
下列叙述中正确的是
在一个成员函数内调用一个虚函数时,对该虚函数的调用进行______联编。
关于纯虚函数和抽象类的描述中,错误的是()。
已知类Sample中的一个成员函数说明如下:voidSet(Sample&a);其中,Sample&a的含意是()。
下列叙述中正确的是
不是面向对象系统包含的要素的是( )。
有函数模板声明和一些变量定义如下:templateT1sum(T2,T3);doubled1,d2;则下列调用中,错误的是
随机试题
试述邓小平理论的历史地位和指导意义。
幂级数的收敛区间为()。
圆截面梁,横截面直径为d,弯矩在两个相互垂直方向的分量为My、Mz,且My>Mz>0,该截面上最大正应力为()。
建设项目经济评价有一整套指标体系,敏感性分析可选定其中一个或几个指标进行分析,最基本的分析指标是()。
【背景资料】某施工单位中标一跨河多跨简支桥梁,桥长300m,桥宽12m,基础为钻孔灌注桩,工期280d。施工单位进场前,编制了该桥的实施性施工组织设计。其中,包括工程概况、工程规模和工程特点、施工方案、施工进度计划、施工平面图等内容。其中,施工方
某企业2012年度利润总额为500万元,假定该企业无其他纳税调整项目,适用的所得税税率为25%。该企业2010年净利润为()万元。
在成员国监管机关允许的情况下,基金投资于国际组织担保的证券,应投资于不少于6个主体发行的证券,对每个主体发行证券的投资比例不得超过()。
下列情形中,属于当事人申请再审时人民法院不予受理的有()。
Ontheoutside,BetsyLueth’sschoollookslikeanyotherinthisartyneighborhoodofMinneapolis:asprawling,boxyredbrick
Pub-talk,themostpopularactivityinallpubs,isanativedialectwithitsowndistinctivegrammar.Thereareveryfewrestr
最新回复
(
0
)