首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序: #include using namespace std; class Base { public: void fun1() { cout
有如下程序: #include using namespace std; class Base { public: void fun1() { cout
admin
2021-05-06
37
问题
有如下程序:
#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<<"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
解析
在某基类中声明为 virtual 并在一个或多个派生类中被重新定义的成员函数,本题中定义了一个派生类对象obj,执行f函数后,将派生类对象obj转化为基类对象,由于fun1不是虚函数,所以输出基类的fun1;而fun2是虚函数,所以输出派生类的fun2,所以本题答案为B。
转载请注明原文地址:https://www.kaotiyun.com/show/ORfp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
在类中重载赋值运算符时,应将其声明为类的()。
建立一个有成员对象的派生类对象时,各构造函数体的执行次序为()。
下面不属于软件测试实施步骤的是()。
有如下类定义:classBase{public:voidfun(){cout
下列叙述中正确的是
下列关于运算符重载的叙述中,错误的是()。
运算符重载是对已有的运算符赋予多重含义,因此()。
在下列模式中,能够给出数据库物理存储结构与物理存取方法的是()。
随机试题
简述一元论和二元论的含义与辩证唯物主义一元论的基本观点。
(11—04)《国际货币基金协定》的主要内容包括______、_______、_________、_______。
A.thathisteammatescannothelpadmiringhimB.thatheisoftenyelledatbythecoachC.whocanplaybasketballsowellD.
设β1=α1,β2=α1+α2,β3=α1+α2+α3,β4=α1+α2+α3+α4,且向量组α1,α2,α3,α4线性无关,证明:向量组β1,β2,β3,β4也线性无关.
补阳还五汤中君药黄芪的作用是
一患者左侧鼻唇沟浅,双侧额纹对称,眼睑闭合有力,伸舌左偏,无肌萎缩,左侧肢体中枢性瘫痪,左侧偏身感觉障碍,左侧同向性偏盲,考虑病变部位是
五指并拢时手掌的面积占全身体表面积的比例是
首先提出了“邻里单位”理论的是()。
简述教师应如何形成和维护自己的威信。
阅读下列材料并按照要求回答问题。某研究者想要对某市高中生的英语学习成绩影响因素进行调查研究。他计划先进行问卷调查再访谈调查,在该市第一高中选择优等班约50名学生开展调查,通过调查对结果进行分析、得到结论,并且提出相关的改进建议。论述访谈调查和问卷调查
最新回复
(
0
)