首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有以下程序: #include <iostream> using namespace std; class Base { public: Base(){} virtual void who()
有以下程序: #include <iostream> using namespace std; class Base { public: Base(){} virtual void who()
admin
2010-03-29
40
问题
有以下程序: #include <iostream> using namespace std; class Base { public: Base(){} virtual void who() { cout<<"Base Class"<<end1; } ~Base(){} }; class Derivel : public Base { public: void who() { cout<<"Derivel Class"<<end1; } }; class Derive2 : public Base { public: void who () { cout<<"Derive2 Class"<<end1; } }; int main () { Base *p; Derivel obj1; Derive2 obj2; p=&obj1; p=&obj2; p->who ( ); return 0; } 执行程序后的输出结果是( )。
选项
A、Base Class
B、Derivel Class
C、Derive2 Class
D、程序编译时出错
答案
4
解析
本题考核虚函数的应用。本题中,先定义了一个基类Base,它含有一个虚成员函数who(),随后定义的类Derivel和Derive2都是基类Base的公有派生类。在主函数中定义了一个指向Base类的指针,它也被允许指向其派生类。在执行过程中,不断改变它所指向的对象,p->who就能调用不同的函数实现。这是因为使用了虚函数,因而进行动态联编。 程序最后把指针p指向派生类Derive2的对象,由于函数who()在基类Base中是虚函数,所以系统调用Derive2中的who()函数,最后输出Derive2Class。
转载请注明原文地址:https://kaotiyun.com/show/8Xjp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
计算机高级语言程序的运行方法有编译执行和解释执行两种,以下叙述中正确的是
若有以下程序#includevoidsp(int*a){intb=2;a=&b;*a=*a*2;printf("%d,",*a);}main(){intk=3,*p=&k;sp(p);printf("%d,
以下选项中合法的实型常量是
有以下程序#includemain(){intx;scanf("%d",&x);if(x<=3);elseif(x!=10)printf("%d\n",x);}程序运行时,输入的值在哪个范围才会有输出结果
在快速排序法中,每经过一次数据交换(或移动)后()。
已定义以下函数intfun(int*p){return*p;}fun函数返回值是
面不属于软件需求分析阶段主要工作的是
设有以下函数:voidfun(intn,char*s){……}则下面对函数指针的定义和赋值均正确的是
深度为7的二叉树共有127个节点,则下列说法中错误的是()。
C语言中标准库函数fputs(str,fp)的功能是()。
随机试题
A.射干麻黄汤B.定喘汤C.小青龙汤加石膏汤D.三子养亲汤
流行性乙型脑炎的传播媒介是流行性出血热的传染源是
假设检验中,P与α的关系是
某沿海城市住宅工程,建筑面积23400m2,现浇混凝土剪力墙结构。地上20层,地下2层。筏板基础。顶板模板板面采用18mm胶合板,支撑系统采用钢管。竖向结构模板采用大钢模。由某施工总承包企业组织施工。施工过程中发生了如下事件:事件一:模
儿童的需要表现在()。
根据《行政处罚法》的规定,违法事实确凿且有法定依据,对公民处以()以下罚款的行政处罚的,可以当场作出行政处罚决定。
1952年党中央在酝酿过渡时期总路线时,毛泽东把实现向社会主义转变的设想,由新中国成立之初的“先搞工业化建设”再一举过渡,改变为“建设和改造同时并举,逐步过渡”,这一改变的原因和条件是()
满足人民基本文化需求是社会主义文化建设的基本任务。必须坚持政府主导,加强文化基础设施建设,完善公共文化服务网络,让群众广泛享有免费或优惠的基本公共文化服务。其要求是
Theworldeconomyhasbeengrowingatitsfastestforageneration.Money,goodsandideasmovearoundtheglobemorefreelytha
假设单元格A1、A2、B1和B2的内容如图2-4所示,在单元格C1中输入公式“=$A$2+B1”,并将公式复制到单元格C2,那么C2的内容为(59)。
最新回复
(
0
)