首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序: #include<iostream> using namespace std; class Base { public: void fun1(){cout<<’’Base\n’’;} v
有如下程序: #include<iostream> using namespace std; class Base { public: void fun1(){cout<<’’Base\n’’;} v
admin
2020-04-07
36
问题
有如下程序:
#include<iostream>
using namespace std;
class Base
{
public:
void fun1(){cout<<’’Base\n’’;}
virtual void fun2(){cout<<’’Base\n’’;}
};
class Derived:public Base
{
public:
void fun1(){cout<<’’Derived\n’’;}
void fun2(){cout<<’’Derived\n’’;}
};
void f(Base&b) { b.fun1();b.fun2();}
int main()
{
Derived obj;
f(obj);
return 0:
}
执行这个程序的输出结果是( )。
选项
A、Base
Base
B、Base
Derived
C、Derived
Base
D、Derived
Derived
答案
B
解析
此题考查的是虚函数的概念。在C++语言中,一个派生类的对象可以被它的任何一个基类的指针所指向,若基类和派生类中存在一模一样的成员函数。那么通过该基类指针调用这样的成员函数时,若这个成员函数被定义成虚函数,那么就调用派生类中的;否则就调用基类中的。本题中,在f()函数中,形参b是一个基类的引用,它引用的是主函数中定义的派生类对象obj,所以在调用fun1()时,运行的是基类的版本,而fun2()运行的是派生类的版本。
转载请注明原文地址:https://jikaoti.com/ti/ldA0FFFM
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
下列打开文件的表达式中,错误的是()。
有关析构函数的说法不正确的是()。
下列有关析构函数的调用顺序是( )。
下列程序的执行结果为#include<iostream.h>voidmain(){inta=3,b=0;int*p=&a;b=+a++;cout<<*
对虚函数的调用()。
以下程序的输出结果是【】。#include<iostream.h>voidmain(){char*x[6]={"Would","you","like","C""Plus""Plu
.、.*、->、::、?:这五个运算符______重载。
下列运算符中,不能重载的是
在长度为n的顺序表的第i(1≤i≤n+1)个位置上插入一个元素,元素的移动次数为______。
已知在函数func()中语句this->ff=0;与语句fi=O;的效果完全相同。对于这一现象,下列表述中错误的是()。
随机试题
患者,女,44岁。患腰椎间盘突出症5年,经卧硬板床和骨盆牵引等保守治疗无效。现症状逐渐加重,行走100~200m即出现下肢疼痛,须休息或下蹲数分钟才能缓解,入院准备接受手术治疗。该患者术后第1天可以进行的功能锻炼是
县级以上医疗机构中具有处方权的是在职的
萨摩耶犬,左后肢股骨中段骨折,手术切开内固定时,见股外侧肌表面有一大出血点呈喷射状流血,此时最适宜的止血方法是
加油站站内的道路转弯半径应按行驶车型确定,且不宜小于()。
价格条件为CFR/CIF时,海运提单上应有“FreightPrepaid”字样,FCA/FOB条件时,应有“FreightCollect”字样()
如图,点F在平行四边形ABCD的对角线AC上,过点F,B分别作AB、AC的平行线相交于点E,连接BF,∠ABF=∠FBC+∠FCB求证;四边形ABEF是菱形.
公文处理应遵循的原则不包括()。
果农张某在2008年至2011年间连续与甲果汁公司签订了三份桔子买卖合同,并按照合同的约定分别向甲果汁公司的两个子公司发运了桔子,但甲果汁公司及其两个子公司迄今未支付货款。关于本案,下列哪一选项是正确的?()
看见一株玫瑰花并能认识它,这时的心理活动是()。
在多个用户共享数据库时,对同一资料的1._____操作可能破坏数据库的2.______。因此数据管理机制要解决丢失更新、不一致以及3.______等问题。解决的方法主要有加锁技术和时标技术。3.____A.“脏数据”B.安全
最新回复
(
0
)