首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序 #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
63
问题
有如下程序 #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全国计算机二级
相关试题推荐
若有以下程序#include<stdio.h>charf(charx){returnx*x+’a’;}main(){chara,b=0;for
假定输入的字符串中只包含字母和*号。请编写函数fun,它的功能是:除了尾部的*号之外,将字符串中其他*号全部删除。形参p已指向字符串中最后的一个字母。在编写函数时,不得使用C语言提供的字符串函数。例如,字符串中的内容为:****A*BC*DEF*
以下程序:#includevoidfun(intx){if(x/2>1)fun(x/2);printf("%d",x);}main(){fun(7);printf(”\n”);}程序运行后
若变量已正确定义为int型,要通过语句scanf("%d,%d,%d",&a,&b,&c);给a赋值1、给b赋值2、给c赋值3,以下输入形式中错误的是(u代表一个空格)()。
支持子程序调用的数据结构是()。
表示关系式x≤y≤Z的C语言表达式的是()。
语句“printf("a\bhow\’are\’y\\\bou\n");”的输出结果是()。
有三个关系R、S和T如下:由关系R和S通过运算得到关系T,则所使用的运算为()。
以下关于结构化程序设计的叙述中正确的是()。
若变量已正确定义,在if(W)printf("%d\n",k);中,以下不可替代W的是( )。
随机试题
下图为Word2010窗口截图,完成以下题目。用户右击____处(填写序号),在弹出的快捷菜单中单击“功能区最小化”命令,可将Word2010窗口的功能区最小化。
苏子降气汤中配伍当归和肉桂的意义是
麻黄与桂枝的区别中,下列哪一项是错误的
8度抗震设计的钢筋混凝土结构,框架柱的混凝土强度等级不宜超过()。
施工临时工程是为辅助主体工程施工所必须修建的生产和生活用临时性工程。其由()、其他施工临时工程组成。
违反法律、行政法规或者中国证监会有关规定,情节严重的,可以对有关责任人员采取()年的证券市场禁入措施。
安装工程保险的保险金额是按()确定的。
2010年1月2日,甲公司以货币资金取得乙公司30%的股权,初始投资成本为2000万元,投资时乙公司各项可辨认资产、负债的公允价值与其账面价值相同,可辨认净资产公允价值及账面价值的总额均为7000万元。甲公司取得投资后即派人参与乙公司生产经营决策,但无法对
根据2010年第六次全国人口普查数据显示,东部地区中北京市常住人口为1961.24万人,上海市常住人口为2301.91万人;中部地区中河南省常住人口为9402.36万人,山西省常住人口为3571.21万人;西部地区中重庆市常住人口为2884.62万人,四川
Drivingthroughsnowstormonicyroadsforlongdistancesisamostnerve-rackingexperience.Itisaparadoxthatthesnow,com
最新回复
(
0
)