首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序 #include<iostream> using nameSpace std; class base { public: vinual void f1() { cout<<"F1 Ba
有如下程序 #include<iostream> using nameSpace std; class base { public: vinual void f1() { cout<<"F1 Ba
admin
2009-02-15
49
问题
有如下程序 #include<iostream> using nameSpace std; class base { public: vinual void f1() { cout<<"F1 Base"; } virtual void f2() { cout<<"F2Base"; } }; class derive:public base { void f1() { cout<<"F1Derive"; } void f2(int x) { cout<<"F2Derive"; } }; int main() { base obj1,*p; derive obj2; p=&obj2; p—>f1(); p—>f2(); return 0; } 执行后的输出结果是
选项
A、F1Derive F2Base
B、F1Derive F2Derive
C、F1Base F2Base
D、F1Base F2Derive
答案
1
解析
本题主要考查C++中虚函数机制及其继承过程中的要点。虚函数在基类中加关键字virtual声明,在派生类中重新定义;如果派生类没有覆盖虚函数,则程序执行中将会执行基类的虚函数版本。题目程序中,建立了基类base,其内函数void f1()和 voidf2()均被声明为虚函数,并在调用时会显式的发出声明。派生类derive利用public方式继承基类base,并覆盖其基类base中的虚函数f1();对于base中的虚函数f2(),由于派生类derive中的同名函数f2()中带有参数int x,因此被编译器认为是函数重载,而不作虚函数覆盖处理,因此实际上派生类derive中包含两个f2()函数,一个不带参数,调用时执行基类base中的f2()函数版本,一个带参数int x,调用时执行重载后的版本。题目main()函数中,定义了基类对象。obj1和基类指针*p,同时定义了派生类对象。obj2。p指向。obj2时:p—>f1()函数调用执行派生类覆盖后的版本,输出D1:p-> f2()由于不带参数,因此执行未经派生类覆盖的函数版本,即基类base中的f1()函数版本。
转载请注明原文地址:https://kaotiyun.com/show/W7kp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
设变量已正确定义并赋值,以下正确的表达式是( )。
软件设计中模块划分应遵循的准则是()。
有以下程序#include<stdio.h>main(){inta[]={2,4,6,8},*p=a,i;for(i=0;i<4;i++)
支持子程序调用的数据结构是()。
下列关于C语言数据文件的叙述中正确的是()。
表达式:(int)((double)9/2)-9%2的值是()。
若有定义“intx,y;”并已正确给变量赋值,则下列选项中与表达式“(x—y)?(x++):(y++)”中的条件表达式“(x—y)”等价的是()。
在面向对象方法中,不属于"对象"基本特点的是()。
在结构化方法中,用数据流程图(DFD)作为描述工具的软件开发阶段是()。
关于算法,以下叙述中错误的是
随机试题
患者男性,55岁。低热、腹胀5个月。查体:消瘦,全腹膨隆,未及肿块,移动性浊音阳性。腹水检查:比重1.022,蛋白质35g/L,白细胞计数0.58×109/L,单核细胞0.78。最可能的诊断是
青年男性,突发头痛2小时,伴恶心、呕吐。体检:运动性失语,右侧肢体偏瘫,右瞳孔3mm,左瞳孔4mm,对光反应迟钝。下述处理哪项不正确
温胆汤的功用是
下列有关体表感染的描述,不正确的是
常伴有杵状指的先天性心脏病是
已知某城市最高时总用水量为300L/s,其中工业集中用水量为30L/s,在节点3取出,各管段长度和节点编号如图1-11所示,泵站至节点4两侧无用户。则该管网的比流量为(),管段2—3的沿线流量为(),节点3的节点流量为(
“股票入选成分股,引起股票上涨”属于公司异常的表现。()
企业销售商品同时提供劳务的,且销售商品部分与提供劳务部分不能区分,应将全部收入作为销售商品处理。()
甲公司生产乙产品,产能3000件,每件产品标准工时2小时,固定制造费用标准分配率10元/小时。本月实际产量2900件,实际工时5858小时,实际发生固定制造费用66000元。采用三因素分析法分析固定制造费用差异,闲置能量差异是()。
2005年12月,ISO正式发布了①作为IT服务管理的国际标准;2007年10月,ITU接纳②为3G标准;2005年10月,ISO正式发布了③作为信息安全管理的国际标准。①、②和③分别是(35)。
最新回复
(
0
)