首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序: #include using namespace std; class Base { public: void fun1(){cout
有如下程序: #include using namespace std; class Base { public: void fun1(){cout
admin
2018-08-13
23
问题
有如下程序:
#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全国计算机二级
相关试题推荐
数据的存储结构是指()。
有如下程序#include<iostream>#include<iomanip>usingnamespacestd;intmain(){cout<<setprecision(3)<<f
重新定义标识符的作用域规定是外层变量被隐藏,______变量是可见的。
假定要对类AB定义加号操作符重载成员函数,实现两个AB类对象的加法,并返回相加结果,则该成员数的声明语句为()。
在多继承的基类和派生类中同时出现______存在二义性。
在结构化设计方法中,数据流图表达了问题中的数据流与加工间的关系,并且每一个______实际上对应一个处理模块。
下列数据结构中按“先进先出”原则组织数据的是
C++语言中标点符号中表示一条预处理命令开始的是
在E-R图中,用来表示实体联系的图形是
随机试题
艺术的________是艺术品的一种外围功能。
主窗体和子窗体通常用于显示多个表或查询中的数据,这些表或查询中的数据一般应该具有的关系是()。
设有m个进程共用一个相同的程序段(临界区),若每次最多允许n个进程(n<m)同时进入临界区,则信号量的初始值应为()
经营决策
右心衰竭时,产生水肿的主要始动因素是
呼吸衰竭患儿的护理哪项是错误的
引起小儿颌下间隙感染的最多来源是()
创造项目产品的过程是实现项目产品()的过程。
四分音符读成“TA”,八分音符读成“TI”,这种读节奏的方法是()音乐教学体系的节奏读法。
根据坎农一巴德情绪学说,情绪的中枢区位于()
最新回复
(
0
)