首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序: #include<iostream> using namespace std; class Base { public: void fun1(){cout<<’’Base\n’’;} v
有如下程序: #include<iostream> using namespace std; class Base { public: void fun1(){cout<<’’Base\n’’;} v
admin
2020-04-07
47
问题
有如下程序:
#include<iostream>
using namespace std;
class Base
{
public:
void fun1(){cout<<’’Base\n’’;}
virtual void fun2(){cout<<’’Base\n’’;}
};
class Derived:public Base
{
public:
void fun1(){cout<<’’Derived\n’’;}
void fun2(){cout<<’’Derived\n’’;}
};
void f(Base&b) { b.fun1();b.fun2();}
int main()
{
Derived obj;
f(obj);
return 0:
}
执行这个程序的输出结果是( )。
选项
A、Base
Base
B、Base
Derived
C、Derived
Base
D、Derived
Derived
答案
B
解析
此题考查的是虚函数的概念。在C++语言中,一个派生类的对象可以被它的任何一个基类的指针所指向,若基类和派生类中存在一模一样的成员函数。那么通过该基类指针调用这样的成员函数时,若这个成员函数被定义成虚函数,那么就调用派生类中的;否则就调用基类中的。本题中,在f()函数中,形参b是一个基类的引用,它引用的是主函数中定义的派生类对象obj,所以在调用fun1()时,运行的是基类的版本,而fun2()运行的是派生类的版本。
转载请注明原文地址:https://kaotiyun.com/show/yk8p777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
下列关于队列的叙述中,正确的是()。
有以下程序:#inclyde<iOStream>usingnamespacestd;intmain(){intx=15;while(x>10&&x<50){
在重载一个运算符为成员函数时,其参数表中没有任何参数,这说明该运算符是
有以下程序:#include<iostream>usingnamespacestd;classBase{public:Base(){x=0;}
下面程序的运行结果为#include<iostream.h>classA{public:A(){cout<<"1";}~A(){cout<<"2";}};c
在关系运算中,【】运算是对两个具有公共属性的关系所进行的运算。
有如下数组声明:intnum[10];,下标值引用错误的是
下列叙述中正确的是
模板函数的真正代码是在()时候产生。
下面不属于软件设计阶段任务的是
随机试题
《金匮要略》确立了以病为纲,______、______的杂病诊疗体系。
氯胺酮的特点是
A.玻片凝集试验 B.试管凝集试验 C.间接凝集试验 D.协同凝集试验 E.冷凝集试验ABO血型检测常使用
某运输公司为增值税一般纳税人,从事多种经营。2019年6月发生如下业务:(1)在境内提供水路运输业务,取得收入150万元;提供船舶修理业务,取得收入54万元;提供海员培训服务,取得收入50万元;提供集装箱仓储服务,取得收入46万元;提供国内旅游服务,共收
将一个批次的该零件全部生产出来用时最短的零件移动方式是()。
国家赔偿以支付赔偿金为主要方式。()
EvenancientEgypt’smightypyramid(金字塔)builderswerepowerlessinthefaceofthefamine(饥荒)thathelpedbringdowntheirci
Hurricanesareviolentstormsthatcausemillionsofdollarsinpropertydamageandtakemanylives.Theycanbeextremelydange
Thereisalargeoldhousewithconsiderable______forimprovement.
Itishightimethatyou______smoking.
最新回复
(
0
)