首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序: #include using namespace std; class Base { public: void fun1(){cout
有如下程序: #include using namespace std; class Base { public: void fun1(){cout
admin
2018-08-13
59
问题
有如下程序:
#include
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<<"Dedved\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/GyAp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
有如下4个语句:①cout<<‘A’<<setfill(‘*’)<<1eft<<setw(7)<<‘B’<<endl;②cout<<setrill(‘*’)((1eft<<setw(7)<<‘A’<<‘B’<<endl;③cout<
关系数据库管理系统能实现的专门关系运算包括()。
下列对派生类的表述中,错误的是()。
有如下程序:#include<iostream>usingnamespacestd;classTestClass{public:virtualvoidfun1(){cout<<"fu
已知枚举类型定义语句为:enumToken{NAME,NUMBER,PLUS=5,MINUS,PRINT=10};则下列叙述中错误的是()。
完全不考虑程序的内部结构和内部特征,而只是根据程序功能导出测试用例的测试方法是
若按功能划分,软件测试的方法通常分为白盒测试方法和______测试方法。
下列字符串中可以用作C++标识符的是
数据结构分为逻辑结构和存储结构,循环队列属于______结构。
随机试题
以下的哪一项使肥厚型梗阻性心肌病的胸骨左缘收缩杂音增强
A.六味地黄丸B.天王补心丹C.桑螵蛸散D.金锁固精丸E.大补阴丸心肾两虚,虚火内扰而梦遗健忘者,治宜选用
A.从事医师执业活动B.中止医师执业活动C.申请执业医师注册D.不予医师执业注册E.注销执业医师注册
以下可以资本化的借款费用有()。
认为社会心理学“由社会和个体的相互关系来界定的”,任务是“解释社会互动”。这是侧重于()的定义。
【2018上】现代课程论认为,制约课程内容选择的因素主要包括()。
科学揭示燃烧现象的是()。
语言的接触有不同的类型。其中最常见的是_____________。
ForecastingMethodsThereareseveraldifferentmethodsthatcanbeusedtocreateaforecast.Themethodforecasterchooses
________yousay,hewon’tlistentoyou.
最新回复
(
0
)