首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序: #include using namespace std; class Base { public: void fun1(){cout
有如下程序: #include using namespace std; class Base { public: void fun1(){cout
admin
2020-04-07
17
问题
有如下程序:
#include
using namespace std;
class Base
{
public:
void fun1(){cout<<"Baseha";}
virtual void fun2(){cout<<"Base\n";}
};
class Derived:public Base
{
public:
void fun1(){cout<<"Derivedha";}
void fun2(){cout<<"Derivedha";}
};
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/j38p777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
下列对模板的声明中正确的是()。
关于函数重载,下列叙述中错误的是()。
软件按功能可以分为应用软件、系统软件和支撑软件(或工具软件)。下面属于应用软件的是()。A)学生成绩管理系统B)C语言编译程序C)UNIX操作系统D)数据库管理系统
有如下类定义,请将Sample类的复制构造函数补充完整。classSample{public:Sample(){}~Sample(){if(P)deleteP;)Sample(constSamp
下列叙述正确的是()。
下列关于队列的叙述中,正确的是()。
.、.*、->、::、?:这五个运算符______重载。
在C++语言中,打开一个文件就是将这个文件与一个什么建立关联?
将E-R图转换到关系模式时,实体与联系都可以表示成()。
以下有关类与结构体关系的叙述不正确的是
随机试题
㈧在公文办理工作中,既是收文办理的最后一道程序,又是发文程序的开始,这一环节是
简述总贸易体系与专门贸易体系的区别。
小儿急性中毒时,洗胃的禁忌证是
在下列合同中,()合同是可撤销的合同。
下列属于出口卖方信贷报审材料的有()。
在商业银行开展的理财顾问服务活动中,商业银行提供理财顾问服务,管理和运用资金,并承担由此产生的收益和风险。( )
王某与妻子长期两地分居,为解决这个问题,王某欲调往甲地(妻子的工作地)工作;王某的同事张某得知此事后,请求王某将其现在居住的私有房屋4间转让给他,双方达成如下协议:如果王某调往甲地工作,则将其目前居住的4间私有房屋转让给张某,价款4.8万元;协议订立后,房
下列属于受教育者义务的有()
根据以下资料,回答问题。2014年,全年粮食种植面积11274万公顷,比上年增加78万公顷。棉花种植面积422万公顷,减少13万公顷。油料种植面积1408万公顷,增加6万公顷。糖料种植面积191万公顷,减少9万公顷。全年粮食产量60710万吨,比上年增
西欧早期资产阶级反封建斗争以反天主教会的方式进行,主要原因是()①天主教会是最有势力的封建主集团②天主教会是封建的精神工具③天主教会日益腐败④近代自然科学的兴起
最新回复
(
0
)