首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序: #include using namespace std; class Base { public: void funl(){cout
有如下程序: #include using namespace std; class Base { public: void funl(){cout
admin
2020-11-11
23
问题
有如下程序:
#include
using namespace std;
class Base
{
public:
void funl(){cout<<”Base\n”;}
virtual void flun2(){cout<<”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
Deftved
C、Derived
Base
D、Derived
Derived
答案
B
解析
在某基类中声明为virtual并在一个或多个派生类中被重新定义的成员函数,本题中定义了一个派生类对象obj,执行f函数后,将派生类对象obj转化为基类对象,由于funl不是虚函数,所以输出基类的funl;而fun2是虚函数,所以输出派生类的fun2,所以本题答案为B。
转载请注明原文地址:https://kaotiyun.com/show/O0yp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
使用VC6打开考生文件夹下的源程序文件modi3.cpp,其中定义了用于表示学生学号的类CStudentlD,但类CStudentID的定义并不完整。运行结果为:学生的学号为:200805学生名为:李伟删除学生学号为:200805
下面关于指针的说法中错误的是()。
有如下程序:#include<iostream>usingnamespacestd;classBase{public:virtualvoidShow(){cout<<’B’;}};
有如下程序段:inti=5;while(inti=0){cout<<’*’;i--;}运行时输出’’*’’的个数是()。
为类Matrix重载下列运算符时,只能作为Matrix类成员函数重载的运算符是()。
有如下的运算符重载函数定义:doubleoperator+(inti,intk){returndouble(i+k);}但定义有错误,对这个错误最准确的描述是()。
若MyClass为一个类,执行“MyClassa[41,*p[5];"语句时会自动调用该类构造函数的次数是()。
下面不属于C++的预定义的流对象是()。
请使用VC6或使用【答题】菜单打开考生文件夹proj3下的工程proj3,其中包含了类Integers和主函数main的定义。一个Integers对象就是一个整数的集合,其中包含0个或多个可重复的整数。成员函数add的作用是将一个元素添加到集合中,成员函数
循环队列的存储空间为Q(1:100),初始状态为front=rear=100。经过一系列正常的入队与退队操作后,front=rear=99,则循环队列中的元素个数为()。
随机试题
LetmetellyouastoryaboutBerbandMildCarbridge,whousedtobevery【21】Forexample,Mildwouldforgetto【22】dinner,orBe
奇经八脉,所谓“一源三岐”中“三岐”指的是
等剂量曲线的构成
海关规定对在海关注册登记的企业给予十位数代码编号,称为“经营单位代码”。请在下列选项中指出十位数代码的正确组成顺序是()。
小丽在学习时,为了记住数字、年代等枯燥无味的知识,常常对其赋予意义,使记忆过程牢固。小丽使用的学习策略是()。
A、 B、 C、 D、 C
设α=∫05x(sint/t)dt,β=∫0sinx(1+t)1/tdt,当x→0时,α是β的().
OnThursdaynight,TheNewYorkTimespublishedaninterviewwithElonMuskthatoffersaviewintothebillionaireentrepreneur
堆排序最坏情况下的时间复杂度为
【S1】【S9】
最新回复
(
0
)