首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序: #include using namespace std; class Base { public: void fun1() { cout
有如下程序: #include using namespace std; class Base { public: void fun1() { cout
admin
2020-10-21
789
问题
有如下程序:
#include
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
解析
在某基类中声明为virtual并在一个或多个派生类中被重新定义的成员函数,本题中定义了一个派生类对象obj,执行f函数后,将派生类对象obj转化为基类对象,由于fun1不是虚函数,所以输出基类的fun1;而fun2是虚函数,所以输出派生类的fun2,所以本题答案为B。
转载请注明原文地址:https://jikaoti.com/ti/0cl0FFFM
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
若PAT是一个类,则程序运行时,语句“PAT{*ad)[3]调用PAT的构造函数的次数是()。
有如下程序:#includeusingnamespacestd;classBase{public:Base(intx=0):valB(x){cout
有如下程序:#includeusingnamespacestd;classAA{public:AA(){cout
有如下程序:#includeusingnamespacestd;className{charname[20];public:Name(){st
虚函数支持多态调用,一个基类的指针可以指向派生类的对象,而且通过这样的指针调用虚函数时,被调用的是指针所指的实际对象的虚函数。而非虚函数不支持多态调用。有如下程序:#includeusingnamespacestd;cla
下列类模板的定义中语法格式错误的是()。
在面向对象方法中,不属于“对象”基本特点的是()。
在下列枚举符号中,用来表示“相对于当前位置”文件定位方式的是()。
设循环队列的存储空间为Q(1:50),初始状态为front=rear=50。经过一系列正常的操作后,front-1=rear。为了在该队列中寻找值最大的元素,在最坏情况下需要的比较次数为
随机试题
当两种被焊金属的导热性能和比热容不同时,会改变焊接时()的分布。
男,6个月,出生不久哭闹时右阴囊有一包块,平卧安静时包块明显缩小或消失。2小时前因哭闹包块掉出,伴呕奶、不停哭闹、精神萎靡,右阴囊可见一似梨状包块。最有价值的检查方法是
可能诊断是积极解除本病症状后还应采取的措施
《霍乱论》的作者是
含挥发油成分的药物有
干涉和衍射反映了光的()。
财务生存能力分析中,财务生存的必要条件是()。
2006年财政部颁布的《企业会计准则》已经与国际会计准则完全接轨,并无两样了。()
ShewasthefirstwomanelectedtoafulltermintheUnitedStatesSenate______herhusbandineithertheSenateortheHouseof
Withthelatestsecuritydevicesinstalledthroughoutthemuseum,thecuratorispreparedforvirtuallyany______.
最新回复
(
0
)