首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序: #include using namespace std; class Base { public: void fun1 (){cout
有如下程序: #include using namespace std; class Base { public: void fun1 (){cout
admin
2020-11-11
36
问题
有如下程序:
#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全国计算机二级
相关试题推荐
通过派生类的对象可直接访问其()。
下列叙述中正确的是()。
算法的时间复杂度是指()。
假定一个类的构造函数为A(intaa,intbb){a=aa——;b=a*bb;},则执行Ax(4,5);语句后,x.a和x.b的值分别为()。
执行语句:{cout<<setfill(’*’)<<setw(10)<<setfill(’#’)<<left<<l23<<"OK"<<end1;retum0;}后将输出()。
在数据库系统的组织结构中,下列()映射把用户数据库与概念数据库联系了起来。
请使用VC6或使用【答题】菜单打开考生文件夹proj3下的工程proj3,其中包含主程序文件main.cpp和用户定义的头文件Array.h,整个程序包含有类Array的定义和主函数main的定义。请把主程序文件中的Array类的成员函数Contrary(
请使用VC6或使用【答题】菜单打开考生文件夹proj2下的工程proj2,其中有整数栈类IntList、顺序栈类SeqList和链接栈类LinkList的定义。请在程序中的横线处填写适当的代码并删除横线,以实现上述类定义。此程序的正确输出结果应为:
有如下函数模板:template<typenameT,typenameU>Tcast(Uu){returnu;}其功能是将U类型数据转换为T类型数据。已知i为int型变量,下列对模板函数cast的调用中正确的是(
一个栈的初始状态为空。现将元素1、2、3、4、5、A、B、C、D、E依次入栈,然后再依次出栈,则元素出栈的顺序是()。
随机试题
采用合理的理由来解释所遭受的挫折,以减轻心理痛苦,这种心理防御机制是【】
分泌雄激素结合蛋白的部位是
烧伤最常见的死亡原因是
大骨盆与小骨盆以什么连线为界
小儿心脏发育的特点是
2004年对《外商投资产业指导目录》进行了修订,主要涉及()方面内容。
期货从业人员不得以个人或者他人名义参与期货交易。()
根据《香港国安法》规定,犯了颠覆国家政权罪的,对积极参加的人,处()。
设函数f(x)=(ex一1)(e2x一2)…(enx一n),其中n为正整数,则f’(0)=
设窗体上有一个List1列表框,其中的列表项如图所示。又编写了下面的程序代码:PrivateSubList1_Click()n=List1.ListIndexList1.RemoveItemnm=nIfn=List1.ListCoun
最新回复
(
0
)