首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序: #include using namespace std; class Base { public: void funlO{cout
有如下程序: #include using namespace std; class Base { public: void funlO{cout
admin
2020-04-07
47
问题
有如下程序:
#include
using namespace std;
class Base
{
public:
void funlO{cout<<“BasCn”;)
virtual void fun20{cout<<“BasCn”;)
};
class Derived:public Base
{
public:
void funlO{cout<<”Derivedha”;)
void fun2(){cout<<”DerivedLq”;)
);
void f(Base&b){b.funl0;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是一个基类的引用,它引用的是主函数中定义的派生类对象obi,所以在调用fun()时,运行的是基类的版本,而fun2()运行的是派生类的版本。
转载请注明原文地址:https://www.kaotiyun.com/show/U38p777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
表达式x.operator+(y.operator++(0))还可以写成【】。
派生类的构造函数的成员初始化列表中,不能包含
A、 B、 C、 D、 C纯虚函数是在声明虚函数时被“初始化”为0的虚函数。不定义对象而只作为一种基本类型用作继承的类,称为抽象类。凡是包含纯虚函数的类都是抽象类。抽象类的作用是作为一个类族的共同基类。
继承与【】机制,是面向对象程序中实现重用的主要手段。
下面对静态数据成员的描述中,正确的是
数据结构包括数据的逻辑结构、数据的【】以及对数据的操作运算。
在C++语言中,打开一个文件就是将这个文件与一个什么建立关联?
______是数据库设计的核心。
随机试题
亚硫酸盐能破坏肉、鱼等动物性食品中的()。
甲醛、乙醛、丙酮三种化合物可用()一步区分开。
刺激迷走神经可用于治疗
女,20岁。上前牙松动3年,检查见上切牙松动Ⅱ°扇形移位,口腔卫生较好,初步印象为局限性青少年牙周炎。若已确诊,其可能还具有的特征如下,但不包括
满山红的质量控制成分是()
长上公司与艺海公司在履行合同过程中发生了纠纷。长上公司按照仲裁条款向选定的石家庄市仲裁委员会提交了仲裁申请。下列关于该案仲裁庭的组成的表述哪个是错误的?
下列关于简易程序的说法中,错误的是()。
危机发生时,如果公司能够采取有效的措施来消除不利影响,那么反而能够增加公司的声誉。一个非常好的声誉,可能仅仅因为一个事件,转眼间就被破坏殆尽;而一个不好的声誉,往往需要很长时间的努力才能消除它。如果以上陈述为真,则最能支持以下哪项陈述?()
马克思认为资本主义制度下的工资掩盖了资本主义剥削的实质,这是因为工资
设线性方程组(1)Ax=0的一个基础解系为α1=(1,1,1,0,2)T,α2=(1,1,0,1,1)T,α3=(1,0,1,1,2)T。线性方程组(2)Bx=0的一个基础解系为β1=(1,1,一1,一1,1)T,β2=(1,一1,1,一1,2)T,β3=
最新回复
(
0
)