首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序: #include using namespace std; class Base { public: void fun1(){cout
有如下程序: #include using namespace std; class Base { public: void fun1(){cout
admin
2020-04-07
40
问题
有如下程序:
#include
using namespace std;
class Base
{
public:
void fun1(){cout<<"Baseha";}
virtual void fun2(){cout<<"Base\n";}
};
class Derived:public Base
{
public:
void fun1(){cout<<"Derivedha";}
void fun2(){cout<<"Derivedha";}
};
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://kaotiyun.com/show/j38p777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
关于函数重载,下列叙述中错误的是()。
已知:intm=10;在下列定义引用的语句中,正确的是()。
继承与【】机制,是面向对象程序中实现重用的主要手段。
设有程序段intk=10;while(k=0)k=k-1;则下面描述中正确的是
有如下程序:#include<iostream>usingnamespacestd;classComplex{doublere,im,public:Complex(dou
对于语句constintx=10;的描述正确的是()。
在面向对象的程序设计中,用来请求对象执行某一处理或回答某些信息的要求称为【 】。
C++中的类有两种用法:一种是类的实例比,即生成类的对象,并参与系统的运行;另一种是通过()派生出新的类。
队尾在队列中,允许插入的一端叫做“队尾”,允许删除的一端叫做“队头”。
数据库设计分为需求分析阶段、______阶段、逻辑设计阶段、物理设计阶段、数据库实施阶段、数据库运行和维护阶段。
随机试题
A、Aplacewithaheavyrain.B、Abeautifulsummerresort.C、Atownwithasunnyday.D、Aninterestingadvertisement.A原文提及“电视天气预
迟发型神经病多见于有机磷中毒治疗后,中毒症状消失后
周围型肺癌应鉴别的是弥漫型肺泡细胞癌应鉴别的是
下列选项中,()实际E是企业外部环境分析和企业内部要素分析的组合分析。
作为统计调查对象的个人,在重大国情国力普查活动中拒绝、阻碍统计调查的,应当()。
近年来,J省H镇充分发挥劳务大镇优势,采取多种形式广泛宣传,不断转变农民工返乡创业观念,努力搭建就业平台,积极改善创业环境,让农民工认识到在自己家门口创业的好处、意义和前景。目前。已有500余名农民工选择了在家门口创业,涵盖种植、养殖、农产品及服
网络营销过程大致可以分为的几个阶段是()。
在一棵二叉树上第8层的结点数最多是______。
消除SQLSELECT查询结果中的重复记录,可采取的方法是( )。
IntheUnitedStatesandinmanyothercountriesaroundtheworld,therearefourmainwaysforpeopletobe【1】aboutdevelopment
最新回复
(
0
)