首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序: #include<iostream> using namespace std; class base { public: virtual void f1() {
有如下程序: #include<iostream> using namespace std; class base { public: virtual void f1() {
admin
2010-03-29
62
问题
有如下程序: #include<iostream> using namespace std; class base { public: virtual void f1() { cout<<"F1Base"; } virtual void f2() { cout<<"F2Base "; } }; class derive : public base { void f1 ( ) { cout<<"F1Derive"; } void f2( int x ) { cout<<"F2 Derive"; } }; int main () { base objl, * 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()和void f2()均被声明为虚函数,并在调用时会显式地发出声明。派生类derive利用public方式继承基类base,并覆盖其基类base中的虚函数f1()。对于base中的虚函数f2(),由于派生类derive中的同名函数f2()中带有参数int x,因此被编译器认为是函数重载,而不作虚函数覆盖处理,所以实际上派生类derive中包含两个f2()函数,一个不带参数,调用时执行基类base中的f2()函数版本,一个带参数int x,调用时执行重载后的版本。
本题主函数中,定义了基类对象。obj1和基类指针*p,同时定义了派生类对象。obj2。
p指向obj2时,“p->n()”函数调用执行派生类覆盖后的版本,输出F1Derive;“p-> f2()”由于不带参数,因此执行未经派生类覆盖的函数版本,即基类base中的f1()函数版本。
转载请注明原文地址:https://www.kaotiyun.com/show/vTjp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
有以下程序#includemain(){inta=1,b=2,c=3,d=0;if(a==1&&b++==2)if(b!=2||c--!=3)printf("%d,%d,%d\n",a,b,c);elseprintf("%d,
以下程序的输出结果是()。voidf(int*q)main(){inti=0;{inta[5]={1,2,3,4,5},i;for(;i<5;i++)(*q)++;}
若有以下程序structstu{char*name,gender;intscore;};main(){structstua={NULL,’m’,290},b;a.name=(char*)malloc(10);strcpy(a.name,"Z
有以下程序,程序运行后的输出结果是#definePT3.5:#defineS(x)PT*x*x;main(){inta=1,b=2;printf("%4.1f\n",S(a+b));}
有以下程序main(){inta=3;a+=a-=a*a;printf("%d\n",a);}程序的输出结果是
有以下程序#include<stdio.h>voidmain(){charb,c;inti;b=’a’;c=’A’;for(i=0;i<6;i++){if(i%2)putchar(i+b);elseputchar(i+
有以下程序:#includeintf(intn);main(){inta=3,s;s=f(a);s=s+f(a);printf("%d\n",s);}intf(intn){staticinta=1;n+=a++;returnn;}程
随机试题
具有安神、祛痰功效的药物是
下列不是正常月经临床表现的是
属于节律异常的呼吸是()。
动态相对指标是指同一现象在不同时期的两个指标值对比的综合指标,该指标的计算公式是:某一现象报告期数值×100%/同一现象基期数值。()
根据增值税税收法律制度的规定,下列业务中享受零税率的税收优惠政策的有()。
“同学们,今天我们要学习的这首歌曲叫《牧歌》。首先,我们先来聆听一下歌曲,边听边思考这首歌曲主要描绘了什么意境,表达了什么情感。”以上案例是歌唱课教学中的哪一个教学环节?()
某食品厂的临时推销员吴某持该厂的介绍信(内容是:兹有我厂推销员吴某到贵公司推销新产品,请予接洽)到外县推销该厂新产品时,恰遇该县的贸易公司新近收购的蔗糖质量好、价格低,于是自作主张以食品厂的名义购进6000斤蔗糖,并将推销款拿出一部分预交了4000元的
在考生文件夹下有一个工程文件sjt5.vbp,其名称为FormI的窗体上已有三个文本框Textl、Text2、Text3,以及部分程序代码,请完成以下工作。①在属性窗口中修改Text3的适当属性,使其在运行时不显示,作为模拟的剪贴板使用,窗体如图
A耳朵B遇到C出租D先E厨房从机场回来,他把行李箱忘在了()车上。
WhowontheWorldCup1994footballgame?WhathappenedattheUnitedNations?Howdidthecriticslikethenewplay?【C1】______a
最新回复
(
0
)