首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序#include <iostream>using namespace std;class base{public: virtual void f1() { cout<<"F1Base "; } virtual
有如下程序#include <iostream>using namespace std;class base{public: virtual void f1() { cout<<"F1Base "; } virtual
admin
2010-12-16
97
问题
有如下程序#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<<"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
答案
A
解析
本题主要考查C++中虚函数机制及其继承过程中的要点。虚函数在基类中加关键字virtual声明,在派生类中重新定义;如果派生类没有覆盖虚函数,则程序执行中将会执行基类的虚函数版本。题目程序中,建立了基类base,其内函数void f1()和void f2()均被声明为虚函数,并在调用时会显式的发出声明。派生类derive利用 public方式继承基类base,并覆盖其基类base中的虚函数f1();对于base中的虚函数f2(),由于派生类 derive中的同名函数f2()中带有参数int x,因此被编译器认为是函数重载,而不作虚函数覆盖处理,因此实际上派生类derive中包含两个f2()函数,一个不带参数,调用时执行基类base中的f2()函数版本,一个带参数int x,调用时执行重载后的版本。题目 main()函数中,定义了基类对象。obj 1和基类指针*p,同时定义了派生类对象obj2。p指向。obj2时:p->f1()函数调用执行派生类覆盖后的版本,输出D1;p-> f2()由于不带参数,因此执行未经派生类覆盖的函数版本,即基类base中的f1()函数版本。
转载请注明原文地址:https://kaotiyun.com/show/N1Vp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
有以下程序:#include<stdio.h>#include<string.h>main(){chara[10]="abcd";printf("%d,%d\n",strlen(a),sizeof(a));
以下程序段中的变量已正确定义for(i=0;i
以下叙述中错误的是()。
以下函数findmin拟实现在数组中查找最小值并作为函数值返回,但程序中有错导致不能实现预定功能#defineMAX2147483647intfindmin(intx[],intn){inti,min;
在下列选项中,没有构成死循环的是()。
在面向对象方法中,不属于"对象"基本特点的是( )。
设栈的顺序存储空间为S(0:49),栈底指针bottom=49,栈顶指针top=30(指向栈顶元素)。则栈中的元素个数为
算术运算符和圆括号有不同的运算优先级,对于表达式:a+b+c*(d+e),关于执行顺序,以下说法正确的是()。
函数调用语句:fun((exp1,exp2),(exp1,exp2,exp3));含有的实参个数是
在长度为n的有序线性表中进行二分查找,最坏情况下需要比较的次数是()。
随机试题
噬菌体是一类
先天性卵巢发育不全综合征最常见的核型是
除氧器的汽压通过()来进行控制。
建设单位应当自领取施工许可证之日起( )内开工。
根据《支付结算办法》的规定,银行汇票的提示付款期限是自出票日起3个月。()
事业单位支出管理的重点是()。
去年全年检察机关和全国各级工商行政管理机关月均查办案件的数量分别为()2006年全国各级工商行政管理机关向司法机关移送涉嫌犯罪的医药领域商业贿赂案件占向司法机关移送涉嫌犯罪的商业贿赂案件总数的()。
某数值编码为FFH,若它所表示的真值为-127,则它是用(10)表示的;若它所表示的真值为-1,则它是用(11)表示的。
Whatisthemangoingtodoverysoon?
Onceitwaspossibletodefinemaleandfemaleroleseasilybythedivisionoflabor.Menworkedoutsidethehomeandearnedthe
最新回复
(
0
)