首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序: #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
27
问题
有如下程序: #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://jikaoti.com/ti/9xW0FFFM
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
有以下程序,程序运行后的输出结果是main(){intm=1,n=2,*p=&m,*q=&n,*r;r=p;p=q;q=r;printf("%d,%d,%d,%d\n",m,n,*p,*q);}
有下列程序:structS{intn;inta[20];};voidf(int*a,intn){inti;for(i=0;i
在结构化程序设计中,模块划分的原则是
有以下程序:#include<stdio.h>main(){inti=0,a=0;while(i<20){for(;;){if((i%5)==0)break;elsei-
若要求定义具有10个int型元素的一维数组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+
有以下程序#includeintd=1;voidfun(intp){intd=5;d+=p++;printf("%d",d);}main(){inta=3;fun(a);d+=a++;printf("%d\n",d);}程序
随机试题
A、0.3%.B、3%.C、9.7%.D、10%.A
在公务员录用考试的诸多方式中,笔试的优点有
纵向分辨力为
患者,女,45岁。因情志不畅而致咽中如有物梗阻,咯吐不出,吞咽不下,胸胁满闷。治疗应首选
管理的环境可分为一般环境和具体环境两大类。一般环境是指()。
根据《中华人民共和国城乡规划法》,下列哪些是城市总体规划的强制性内容()
背景某化工厂扩建,A单位承接维修间新建工程PC项目。A单位将车间内20t行车安装承包给无资质的作业队B。作业队B与A单位签订合同,仅约定质量要求和承包价款。C单位为B作业队提供担保。施工期间质检发现3台车床安装用垫铁埋设存在超标的质量问
老师说他有一个重要的会议要参加。Theteachersaidthathe___________animportantmeeting____________.
Ithinkthisproblemisdifferent______thatone.
LibraryLookingupmaterialforaresearchpaperinalibraryshouldbeginwiththemain【1】______【1】______Yo
最新回复
(
0
)