首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序: #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
39
问题
有如下程序: #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全国计算机二级
相关试题推荐
关于常成员函数,下列说法中错误的是
设有定义nita:floatf;doubleinti,则表达式10+’a’+i+f值的数据类型是()
数据库DB、数据库系统DBS和数据库管理系统DBMS这三者之间的关系是()。
若有一个MyClass类,则执行语句“MyClassobj1,obj2[2],*p;”后,自动调用该类的构造函数()次。
若有如下语句#include<iostream.h>voidmain(){intx=3;do{x=x-2cout<<x;{while(!(--x);}则上面程序段
以下选项中合法的用户标识符是
下列有关运算符重载的叙述中,正确的是()。
下列程序将x,y和z按从小到大的顺序排列,请将下面的函数模板补充完整。template<classT>voidfun(______){Ta;if(x>y)
在下面函数的横线处填上适当的内容,使该函数能够利用递归方法求解字符串str的长度(不得使用系统提供的字符串处理函数)。intGetLen(char*str){if(______)return______;e
随机试题
有关土质路基压实的正确描述有()等内容。
索赔费用的计算方法主要有()。
要想降低约束性固定成本,只有通过精打细算,编制出积极可行的费用预算并严格执行。()
产品最终的内在质量是_________因素决定的。
()被称为“园中三杰”。
下列不属于行政许可法调整对象的是()。
研究中把实际观测或调查的一部分个体称为样本,研究对象的全部称为总体。抽样误差是指抽样方法本身所引起的误差,即样本指标值与被推断的总体指标值之差。根据上述定义,下列不涉及抽样误差的是:
Itisadreamworld,wherechemistscanturnasow’searintoasilkpurse,wherebioengineerscanputalittlehitofasheepi
Rockmusichasbeenaccusedofhavingabeatthatisatoncetoostrongandtoosimplistic.Let’slookattheseissuesindividua
A、Itismuchtootime-consuming.B、Itistoodifficultfortheman.C、Itincludesalotoftraveling.D、Itisnotwell-paidfor
最新回复
(
0
)