首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序: #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
53
问题
有如下程序: #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全国计算机二级
相关试题推荐
有以下程序,程序运行后的输出结果是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);}
以下程序的输出结果是()。#include#defineSUB(A)(A)-(A)main(){inta=2,b=3,c=5,d;d=SUB(a+b)*c;printf(’’%d\n’’,d);}
若有以下程序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));}
若各选项中所用变量已正确定义,函数fun中通过return语句返回一个函数值,下列选项中错误的程序是()。
C源程序中不能表示的数制是
若有定义语句:intx=10;则表达式x-=x+x的值为()。
下列描述中,不符合良好程序设计风格要求的是
有以下程序:#includeintf(intn);main(){inta=3,s;s=f(a);s=s+f(a);printf("%d\n",s);}intf(intn){staticinta=1;n+=a++;returnn;}程
随机试题
王先生前些年下岗后,自己创办了一家公司。公司开始只有不到十个人,所有人都直接由王先生负责。后来,公司发展很快,王先生就任命了一个副总经理,由他负责公司的日常事务并向他汇报,自己不再直接过问各部门的业务。在此过程中,该公司沟通网络的变化过程是()。
A、bananaB、cabbageC、packageD、factoryA
下列哪种激素受体与激素结合后通过受体上的酪氨酸残基发生磷酸化而引起跨膜信息传递
LH促进下列哪组细胞分泌雄激素
患者,女,50岁,患甲状腺功能减退症2年,家属主诉患者记忆力严重减退、反应迟钝、经常猜疑别人,家人都无法和其正常交流和相处,该患者目前存在的主要心理问题是
城市公共电汽车首末站的规划用地面积,每辆标准用地90~100m2中包含()。
某进出口企业是在山东青岛海关注册登记的一家自理报关企业,若其没有在其他海关办理异地报关备案,那么下列属于它可以自行办理报关业务的口岸海关有()。
软件质量因素分为多个方面,软件的健壮性属于哪个方面的特性?()
有以下程序:INPUTTOAS=0IFA=10S=1ENDIFS=2?S假定从键盘输入的A值是数值型,则程序的运行结果是
Attractingandfeedingwildbirdsareentertainingactivitiesthathavelongbeenenjoyedbypeopleallovertheworld.Feeding
最新回复
(
0
)