首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序: #include<iostream> using namespace std; class Base { public: void funl(){cout<<"Basea";} v
有如下程序: #include<iostream> using namespace std; class Base { public: void funl(){cout<<"Basea";} v
admin
2017-10-17
53
问题
有如下程序: #include<iostream> using namespace std; class Base { public: void funl(){cout<<"Basea";} virtual void fun2(){tout<<"Base\n";} }; class Derived:public Base { public: void funl() {cout<<"Derived\n"; } void fun2() {cout<<"Derived\n"; } }; void f(Base& b) {b.funl(); b.fun2(); } int main() { Derived obj; f(obj); return 0; } 执行这个程序的输出结果是
选项
A、Base Base
B、Base Derived
C、Derived Base
D、Derived Derived
答案
B
解析
本题考查的是虚函数的概念。在C++中,一个派生类的对象可以被它的任何一个基类的指针所指向(或被基类类型的引用所引用)。若基类和派生类中存在一模一样的成员函数,那么通过该基类指针(或引用)调用这样的成员函数,究竟是应该调用基类中的还是调用派生类中的呢?答案是:若这个成员函数被定义成虚函数,那么就调用派生类中的;否则会调用基类中的。本题是一个典型的例子,funl()是一般成员函数,fun2()是虚函数,而且在派生类与基类中都存在两个这样的函数。在f()函数中,形参b是一个基类的引用,它引用的是主函数中定义的派生类对象obi。所以在调用fun()时,运行的是基类的版本,而fun2()运行的是派生类的版本。故选项 B中的结果是正确的。
转载请注明原文地址:https://kaotiyun.com/show/KWAp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
下列选项,不正确的是
完成下列类的构造函数,初始化语句为【 】。#include<iostream.h>classTest{private:intx,y;public,voidTest(intinitx,intinity){_
一个类的友元函数能够访问该类的
有如下类的定义。那么空格处的语句是()。classMyClass{____________intx,y;public:MyClass(intx1=0,inty1=0){
在类体系中访问一个虚函数时,应使用指向______的指针或对基类类型的引用,以满足运行时多态性的要求。
下列叙述中正确的是
下列程序将x,y和z按从小到大的顺序排列,请将下面的函数模板补充完整。template<classT>voidfun(______){Ta;if(x>y)
运算符函数调用格式的表达式y/x++与表达式y.operator/(operator++(x,0))的含义相同,由此可看出()。
下列对字符数组进行初始化的语句正确的是
下列选项中,正确的C++标识符是
随机试题
我想邀请你在这个星期的某个时间去听一场音乐会。
淋巴管道由细到粗包括________、________、________和________。
求取土地的重新购建价格,通常是假设土地上的建筑物不存在,再采用()等估价方法求取其重新取得价格。
不是为保证现行决策的圆满实现,而是为了有利于下一个环节的工作得以顺利开展的控制属于()。
以时间为标准,可将办公室工作计划分为()
一般情况:求助者,女,20岁,汉族,大学在校生,相貌出众,因害怕异性的身体接触前来咨询。求助者自述:我无法与男生交往,我害怕被男生拥抱,只要一提到要和我拥抱,我就全身发抖、心跳加快、全身肌肉紧张。我也曾经暗下决心,不害怕,但是屡屡受挫。因而十分沮
A、12B、2C、6D、11A最下面一行的35与其左、右上角的数字有16+14=35-5的关系,倒数第二行的数字与其左、右上角的数字的关系为:6+10=16,10+4=14,猜测倒数第三行的数字加上5为其左、右上角的数字之和,验证可知:2+9=6+
针对地球冰川的研究发现,当冰川之下的火山开始喷发后,会快速产生蒸汽流,爆炸式穿透冰层,释放灰烬进入高空,并且产生出沸石、硫化物和黏土等物质。日前人们发现,在火星表面的一些圆形平顶山丘也探测到这些矿物质,并且广泛而大量地存在。因此,人们推测火星早期是覆盖着冰
Whenwilltheymeet?
Weoftenpassonlittlebitsofinformationtoourchildren,notknowingiftheyaretrue,andonlybecausetheywere【B1】_______
最新回复
(
0
)