首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序: #include using namespace std; class Base { public: void fun1 (){cout
有如下程序: #include using namespace std; class Base { public: void fun1 (){cout
admin
2020-11-11
29
问题
有如下程序:
#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://jikaoti.com/ti/A3l0FFFM
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
下列关于输入输出流的叙述中,正确的是()。
使用VC6打开考生文件夹下的源程序文件modi3.cpp。通过继承完成输入到屏幕指定的信息:TestClassATestClassBTestClassC其中定义的类并不完整,按要求完成下列操作,将类的定义补充完整。
下列数据结构中,能够按照“先进后出”原则存取数据的是()。
下面程序的运行结果为()。#include<iostream.h>voidmain(){for(inta=0,x=0;!x&&a<=10;a++){a++;}cout<<a<<endl;}
下列有关类继承的叙述中,错误的是()。
如果表达式y*x++中,“*”是作为成员函数重载的运算符,“++”是作为友元函数重载的运算符,采用运算符函数调用格式,该表达式还可表示为()。
每个学校有一名校长,且不同学校的校长可以是同一人,则实体学校和实体校长间的联系是
设二叉树的后序序列为DGHEBIJFCA,中序序列为DBGEHACIFJ。则前序序列为
下列数据结构中,能够按照“先进后出”原则存取数据的是
随机试题
属于中国人民银行货币政策委员会的当然委员的是()
下列哪一神经通路受损可导致帕金森病
如果收缩压降至9.3~12.0kPa,脉率增至130次/分,表示出血量约达全身总血量的
符合医学伦理学研究的是
A、 B、 C、 D、 A本题正确答案为A。每个汉字都有三个封闭区域,据此选择A项。
下列对存单的理解,正确的是()。
在2016年3月的人机大战中,可以学习并模仿人类下棋的人工智能围棋程序AlphaGo以4:1战胜了韩国棋手李世石,这也代表着人工智能发展到了新的阶段,人工智能的出现及其发展对马克思主义哲学的意义在于()。
王先生用清洗剂擦拭抽油烟机,已知每次可擦掉上次残留污垢的3/5,那么至少需要重复擦拭()次,才能使最终残留的污垢不超过5%。
根据以下资料,回答以下问题。2008~2012年,中国内地货物进口额占当年货物进出口总额比重最大的是:
同一个VLAN中的成员可以形成一个广播域,从而实现何种功能?使Switch1的千兆端口允许所有VLAN通过的配置命令如下,请给出空白处的配置内容:Switchl(config)#interfacegigabit0/1(进入千兆端口配置模式)
最新回复
(
0
)