首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序: #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
31
问题
有如下程序: #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://kaotiyun.com/show/vTjp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
有下列程序:structS{intn;inta[20];};voidf(int*a,intn){inti;for(i=0;i
以下程序的输出结果是()。voidf(int*q)main(){inti=0;{inta[5]={1,2,3,4,5},i;for(;i<5;i++)(*q)++;}
以下程序的输出结果是()。#include#defineSUB(A)(A)-(A)main(){inta=2,b=3,c=5,d;d=SUB(a+b)*c;printf(’’%d\n’’,d);}
有如下程序:#include<stdio.h>wildmain(){intx=Ox13:if(x=Ox18)printf(″T″);printf(″F\n″);}程序运行后的结果是()。
有以下程序:#include<stdio.h>main(){inti=0,a=0;while(i<20){for(;;){if((i%5)==0)break;elsei-
有以下程序,程序运行后的输出结果是#definePT3.5:#defineS(x)PT*x*x;main(){inta=1,b=2;printf("%4.1f\n",S(a+b));}
若各选项中所用变量已正确定义,函数fun中通过return语句返回一个函数值,下列选项中错误的程序是()。
C源程序中不能表示的数制是
有以下程序#includemain(){inta=7;while(a--);printf("%d\n",a);}程序运行后的输出结果是
随机试题
与《论语》《大学》《中庸》合称为“四书”的儒家经典是()
A.2~3周B.3~4周C.1~2个月D.3个月后尿道损伤行尿道会师术后,导尿管至少应保留
患者,男,42岁。因“急性梗阻性化脓性胆管炎”急诊入院,寒战,体温骤然升高至41℃,脉率112次/分,血压85/65mmHg,其休克类型为
某日清晨,吴某发现一头怀胎的母牛躺在自家的院子内,经仔细辨认,确信该牛并非同村人所饲养,便将该牛拴在自家院内,并向人打探失主,未能寻找到牛的主人。后吴某看到这头牛即将临产,便对此牛精心饲养,添加许多精制食料。母牛分娩时出现难产,危及母牛和牛犊两条性命,遂迅
注册会计师在对甲公司20×8年度财务报表进行审计时,关注到甲公司对前期财务报表进行了追溯调整,具体情况如下: (1)甲公司20×7年1月1日开始进行某项新技术的研发,截至20×7年12月31日,累计发生研究支出300万元,开发支出200万元。在
简述设设计培训效果评估方案的基本步骤。
研究者通过查阅、鉴别、整理、分析有关资料,从而指导相关教育问题的教育研究方法是()。
下列对市场经济的认识正确的是()。
终结性评价是指在教学过程中为了解学生的学习情况,及时发现教学中的问题而进行的评价。
Awisemanoncesaidthattheonlythingnecessaryforthetriumphofevilisforgoodmentodonothing.So,asapoliceoffice
最新回复
(
0
)