首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序: #include using namespace std; class Base { public: void fun1 (){cout
有如下程序: #include using namespace std; class Base { public: void fun1 (){cout
admin
2020-11-11
56
问题
有如下程序:
#include
using namespace std;
class Base
{
public:
void fun1 (){cout<<"Base\n";}
virtual void fun2(){cout<<"BasCn";}
};
class Derived:public Base
{
public:
void fun1(){cout<<"Derivedkn";}
void fun2(){cout<<"Derived\n";}
};
void f(Base&b){b.fun1();b.ftm2();}
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/8lyp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
有如下类定义:c1assMyClass{intx;public:MyClass():x(0),y(0){}intGetX(){retumx;}voidSetX(intxx){x=xx;
下列运算符函数中,肯定不属于类Value的成员函数的是()。
某系统总体结构图如下图所示:该系统总体结构图的深度是()。
下面描述中错误的是()。
有如下程序#inc1ude<iostream>usingnamespacestd;inti=1;c1assFun{public:staticinti;intvalue(){
请使用VC6或使用【答题】菜单打开考生目录proj3下的工程文件proj3,此工程中包含一个源程序文件proj3.cpp,补充编制C++程序proj3.cpp,其功能是读取文本文件in.dat中的全部内容,将文本存放到doc类的对象myD0c中。然后将my
软件测试用例包括()。
数据库管理系统(DBMS)是
学校的每个社团都有一名团长,且一个同学可同时担任多个社团的团长,则实体团长和实体社团间的联系是
设二叉树的前序序列为ABDEGHCFIJ,中序序列为DBGEHACIFJ。则后序序列为
随机试题
在3PE防腐管电火花检测环移动检测过程中,操作者手要抓紧绝缘把,移动速度要慢且平稳,发现漏点(蜂鸣器报警)要及时停下,按规定做出标记。
设F(x)是f(x)的一个原函数,G(x)是的一个原函数且F(x)G(x)=-1,f(0)=1,证明:f(x)=ex或f(x)=e-x.
A.在成釉器内、外釉上皮之间的星形细胞B.钟状期末牙板断裂后残留的上皮岛C.釉质发育完成后,其表面由成釉器各层细胞相互结合形成的鳞状上皮D.釉质发育完成后,成釉细胞在釉质表面分泌的无结构有机物薄膜E.上皮根鞘断裂后遗留在牙周膜中的上皮岛牙板上皮
施工合同执行者进行合同跟踪的依据有()。
配电柜应装设的配备器具有()。
拍卖法律关系的客体是拍卖活动当事人之间的权利义务所具体指向的对象,亦即拍卖标的,是指依法可以通过拍卖方式转让的特定物品或财产权利。所谓“财产权利”,包括( )。
“视觉悬崖”可以测查婴儿的()。
某分局派出所社区民警小夏在社区例行的“警民恳谈会”上了解到:社区实验小学旁的制鞋厂每天早上冒黑烟,影响学生健康,学校与制鞋厂多次沟通无效。为解决该问题,民警小夏不恰当的做法是:
软件需求分析的任务不应包括(34)。进行需求分析可使用多种工具,但(35)是不适用的。在需求分析中,分析员要从用户那里解决的最重要的问题是(36)。需求规格说明书的内容不应当包括(37)。该文档在软件开发中具有重要的作用,但其作用不应当包括(38)。
获得用户输入的一个整数,一行输出以该整数作为Unicode开始并逐一递增的10个字符。请完善代码。n=input(’’请输入一个整数:’’)foriinrange(①):print(②)
最新回复
(
0
)