首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序: #include<iostream> using namespace std; class Base { public: void funl(){cout<<"Basea";} v
有如下程序: #include<iostream> using namespace std; class Base { public: void funl(){cout<<"Basea";} v
admin
2017-10-17
42
问题
有如下程序: #include<iostream> using namespace std; class Base { public: void funl(){cout<<"Basea";} virtual void fun2(){tout<<"Base\n";} }; class Derived:public Base { public: void funl() {cout<<"Derived\n"; } void fun2() {cout<<"Derived\n"; } }; void f(Base& b) {b.funl(); b.fun2(); } int main() { Derived obj; f(obj); return 0; } 执行这个程序的输出结果是
选项
A、Base Base
B、Base Derived
C、Derived Base
D、Derived Derived
答案
B
解析
本题考查的是虚函数的概念。在C++中,一个派生类的对象可以被它的任何一个基类的指针所指向(或被基类类型的引用所引用)。若基类和派生类中存在一模一样的成员函数,那么通过该基类指针(或引用)调用这样的成员函数,究竟是应该调用基类中的还是调用派生类中的呢?答案是:若这个成员函数被定义成虚函数,那么就调用派生类中的;否则会调用基类中的。本题是一个典型的例子,funl()是一般成员函数,fun2()是虚函数,而且在派生类与基类中都存在两个这样的函数。在f()函数中,形参b是一个基类的引用,它引用的是主函数中定义的派生类对象obi。所以在调用fun()时,运行的是基类的版本,而fun2()运行的是派生类的版本。故选项 B中的结果是正确的。
转载请注明原文地址:https://kaotiyun.com/show/KWAp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
对于拷贝构造函数和赋值操作的关系,正确的是
关于常成员函数,下列说法中错误的是
以下程序的运行结果是______。#include<iostream.h>#include<math.h>template<classT>classTAdd//定义类模板TAdd,T为类型{Tx,y;
关于多继承二义性的描述中,错误的是()。
下列运算符中全都可以被友元函数重载的是()
在下面函数的横线处填上适当的内容,使该函数能够利用递归方法求解字符串str的长度(不得使用系统提供的字符串处理函数)。intGetLen(char*str){if(______)return______;e
C++模板包括( )。
不是面向对象系统包含的要素的是( )。
下列选项中,正确的C++标识符是
重新定义标识符的作用域规定是外层变量被隐藏,______变量是可见的。
随机试题
慈善,慈善团体n.c______
用来治疗坏血病的维生素是()。
患者如出现明显张口受限,面部肿胀不明显,仅口外升支后缘稍红肿、压痛明显,此时应怀疑合并此患者经治疗后,病情好转,仅有右下8远中牙龈轻度压痛,此时合理的处置为
多层建筑物坡屋顶内和场馆看台下,当设计并加以利用时,净高超过()m的部位应计算全面积。
桑代克提出了学习要遵循的三条重要原则,其中不包括()。
你和小李同时入职,你晋升很快,小李有意见,你会怎么做?
勘验、检查主要包括()。
Anoldsayinghasitthathalfofalladvertisingbudgetsarewasted—thetroubleis,nooneknowswhichhalf.Intheinternetage,
设随机变量X1服从参数为p(0<P<1)的0-1分布,X2服从参数为n,P的二项分布,Y服从参数为2p的泊松分布,已知X1取0的概率是X2取0概率的9倍,X1取1的概率是X2取1概率的3倍,则P{Y=0}=_________,P{Y=1}=________
Ifyou’reemployedinthefieldofbusiness,thereissomethingyouhavelikelyexperiencedbefore:thefeelingofhelplessness
最新回复
(
0
)