首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序: #inc1ude <iostream> using namespace std; class Base { public: void funl(){cout<<"Base\n";} vi
有如下程序: #inc1ude <iostream> using namespace std; class Base { public: void funl(){cout<<"Base\n";} vi
admin
2019-06-12
28
问题
有如下程序:
#inc1ude <iostream>
using namespace std;
class Base
{
public:
void funl(){cout<<"Base\n";}
virtual void fun2(){cout<<"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
B、Base Base Derived
C、Derived
D、Derived Base Derived
答案
B
解析
此题考查的是虚函数的概念。在C++语言中,一个派生类的对象可以被它的任何一个基类的指针所指向,若基类和派生类中存在一模一样的成员函数。那么通过该基类指针调用这样的成员函数时,若这个成员函数被定义成虚函数,那么就调用派生类中的;否则就调用基类中的。本题中,在f()函数中,形参b是一个基类的引用,它引用的是主函数中定义的派生类对象obj,所以在调用funl0时,运行的是基类的版本,而fun2()运行的是派生类的版本。
转载请注明原文地址:https://kaotiyun.com/show/OT8p777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
下列程序的输出结果为2,横线处应添加语句()。#includeusingnamespacestd;classTestClass1{public:_________
有以下程序:#include<iostream>#include<string>usingnameSpacestd;classperson{intage;
设置虚基类的目的是()。
C++语言中类定义中默认的访问权限是
C++中通常和一个运算符连用,构成一个运算符函数名的C++关键字为__________。
派生类构造函数的执行顺序是先执行【】的构造函数,然后执行成员对象的构造函数,最后执行【】的构造函数。
对建立良好的程序设计风格,下面描述正确的是()。
以下不是结构化程序设计方法的技术是()。
下列不能被重载的运算符是______。
设有如下关系表:则下列操作中正确的是
随机试题
胃痛急剧而拒按,腹胀便秘,舌苔黄燥,脉滑实有力者,治疗应首选的方剂是
肠上皮细胞由肠腔吸收葡萄糖属于
首次提出“在正式组织中存在着非正式组织”观点的是()
患者,女,20岁。左前臂圆形肿物如指头大小,质硬,表面光滑,边缘清楚,无粘连,活动度大。应首先考虑的是
在体格检查中,医生应遵循的道德要求不包括
现行《水利水电基本建设工程单元工程质量等级评定标准》中有部分标准将中间产品质量标准纳入了正文,中间产品只有在检验合格后才能在()中加入应用。
某科学家向汽车公司提供一项非专利技术,获得收入30000元,该收入应缴纳个人所得税额为( )元。
()指在现成的教学班级内进行,没有随机分派被试,不能完全控制误差的来源,只能尽量减小误差的实验。
“土豪”
Researchhasshownthat—inbothsexesandacrossnumerouscultures—attractivepeoplearejudgedtobesmarter,kinder,morehone
最新回复
(
0
)