首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序 #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
55
问题
有如下程序 #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全国计算机二级
相关试题推荐
关于函数返回值,以下叙述正确的是
有以下程序(其中库函数strstr()首部格式为:char*strstr(char*p1,char*p2)其功能是确定p2字符串是否在p1中出现,并返回p2第一次出现的字符串首地址)#include<stdio.h>#include<st
下面结构体的定义语句中,错误的是()。
在面向对象方法中,不属于"对象"基本特点的是()。
下列方法中,属于白盒法设计测试用例的方法的是()。
在下列模式中,能够给出数据库物理存储结构与物理存取方法的是()。
下列关于逻辑运算符两侧运算对象的叙述中正确的是()。
交换两个变量的值,不允许用临时变量,应该使用下列()位运算符。
随机试题
苯、烷化剂等化学物质有致白血病的作用,最常见的类型是
A气血两虚证B气滞血瘀证C气虚血瘀证D气随血脱证E气不摄血证大失血,突然面唇淡白,神志不清,呼吸微弱,多见于
下列关于违法性阻却事由说法正确的是:
法律为了维护抵押权人的合法权利,保障抵押权的安全,赋予了抵押权人相应的权利以限制抵押人的处分权,下列选项中不属于该权利的是()。
涵洞构造中能直接影响涵洞的宣泄能力和保证洞身安全的部分是()。
民用建筑可局部应用湿式自动喷水灭火系统的条件有()。
下面人物与“完璧归赵”密切相关的是()。
Duringthesecondhalfofthenineteenthcentury,intheUnitedStates,boththestimulustoproducelandscapeartandthesubje
Yourfather’shonoristoyoubutasecondhandhonor.
A、Heisadirectorofhisdepartment.B、Heisconfusedbythemessage.C、Hebearsthesamenamewithacolleague.D、Heworksin
最新回复
(
0
)