首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序 #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
77
问题
有如下程序 #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全国计算机二级
相关试题推荐
下列给定程序中函数fun的功能是:将长整型数中各位上为奇数的数依次取出,构成一个新数放在t中。高位仍在高位,低位仍在低位。例如,当s中的数为87653142时,t中的数为7531。请改正程序中的错误,使它能得出正确的结果。注意
数据库系统的三级模式不包括()。
有以下程序#include<stdio.h>main(){inta[3][4]={1,3,5,7,9,11,13,15,17,19,21,23},(*p)[4]=a,i,j,k=0;for
对关系S和关系R进行集合运算,结果中既包含关系S中的所有元组也包含关系R中的所有元组,这样的集合运算称为()。
下面不属于软件设计阶段任务的是
在面向对象方法中,不属于"对象"基本特点的是()。
开发软件所需高成本和产品的低质量之间有着尖锐的矛盾,这种现象称做()。
使用VC++2010打开考生文件夹下prog1中的解决方案。此解决方案的项目中包含一个源程序文件prog1.c。在此程序中,编写函数fun,其功能是:实现两个字符串的连接(不要使用库函数strcat),即把p2所指的字符串连接到p1所指的字符串的后面。例
关于算法,以下叙述中错误的是
关系数据模型的三个组成部分中不包括()。
随机试题
将儒家经义应用于法律实践的第一人是
在我国引起急性胰腺炎的最常见的病因是()
基金临时信息披露的情况包括()。
中央前回是()。
社会主义民主和资本主义民主的根本区别在于是否实现人民当家作主。()
Givingpsychologiststheoptiontobecometrainedprescribersmaycreateadivisionamongpsychologistswherebysomewillbeabl
甲拜托乙把一个手提箱带到北京,到北京后手提箱中被查出藏有毒品。但是乙对此完全不知情。下列说法中,正确的是()
习近平在党的十九大报告强调指出:“全面依法治国是国家治理的一场深刻革命,必须坚持厉行法治,推进科学立法、严格执法、公正司法、全民守法。成立中央全面依法治国领导小组,加强对法治中国建设的统一领导。加强宪法实施和监督,推进合宪性审查工作,维护宪法权威。推进科学
在现实的企业中,IT管理工作自上而下是分层次的,一般分为三个层级。在下列选项中,不属于企业IT管理工作三层架构的是______。
Themansaidhewouldhitme______Itoldhimwherethemoneywas.
最新回复
(
0
)