首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序: #include<iostream> using namespace std; class Base { public: void fun1(){cout<<’’Base\n’’;} v
有如下程序: #include<iostream> using namespace std; class Base { public: void fun1(){cout<<’’Base\n’’;} v
admin
2020-04-07
64
问题
有如下程序:
#include<iostream>
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
解析
此题考查的是虚函数的概念。在C++语言中,一个派生类的对象可以被它的任何一个基类的指针所指向,若基类和派生类中存在一模一样的成员函数。那么通过该基类指针调用这样的成员函数时,若这个成员函数被定义成虚函数,那么就调用派生类中的;否则就调用基类中的。本题中,在f()函数中,形参b是一个基类的引用,它引用的是主函数中定义的派生类对象obj,所以在调用fun1()时,运行的是基类的版本,而fun2()运行的是派生类的版本。
转载请注明原文地址:https://kaotiyun.com/show/yk8p777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
重载的流运算符函数经常定义为类的【】函数。
下面程序的运行结果是______。#include<iostream>usingnamespacestd;classcount{staticintn;public:count()
有如下程序#include<iostream.h>voidmain(){charch[2][5]={"6937","8254"},*p[2];inti,j,s=0;
在重载一个运算符为成员函数时,其参数表中没有任何参数,这说明该运算符是
关于对象概念的描述中,_______是错误的。
下面程序的运行结果为()。#include<iostream.h>classA{intnumpublic:A(inti){num=i;}A(A&a){Bum=a.num++;}v
下列对字符数组进行初始化的语句,正确的是()。
下列选项中不属于软件生命周期开发阶段任务的是()。
若要使用操作符setw进行输出的格式控制,则必须用#include命令包含【】头文件。
设一棵完全二叉树共有839个结点,则在该二叉树中有【 】个叶子结点。
随机试题
2012—2016年,S省城镇化水平快速提高。2016年年末,S省常住人口3681.61万人,其中居住在城镇区域的常住人口2069.63万人,较2015年年末增加53.26万人;城镇化率达56.21%,居全国第16位,比2015年提高1.18个百分点。
最早强调腹痛“痛则不通”病理学说的是
新生儿寒冷损伤综合征复温的原则是
半夏的功效是
A.内在活性B.治疗指数C.半数致死量D.安全范围E.半数有效量LD5~ED95是指
下列财产中不属于破产财产的是:()
关于氟碳漆施工流程的说法,正确的是()。
等值连接可由基本的关系运算(32)等价表达。给定关系贯、S如下图所示,则RS=(33)。
Johnwasinanurseryschoolforoneyear.
Overtheyears,I’veheardafairnumberofslursshoutedatcampuscops.Seldomwerethey"pig"or"fascist."Farmoreoften,
最新回复
(
0
)