首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序; #include<iostream> using namespace std; class Base{ public: void output(){cout<<1;} virtual void
有如下程序; #include<iostream> using namespace std; class Base{ public: void output(){cout<<1;} virtual void
admin
2020-04-07
72
问题
有如下程序;
#include<iostream>
using namespace std;
class Base{
public:
void output(){cout<<1;}
virtual void Print(){cout<<’B’;}
};
class Derived:public Base{
public:
void output(){cout<<2;}
void Print(){cout<<’D’;}
};
int main(){
Base*ptr=new Derived;
ptr->output();
ptr->Print();
delete ptr;
return 0;
}
程序的输出结果是( )。
选项
A、1B
B、1D
C、2B
D、2D
答案
B
解析
此题考查的是虚函数与多态性。在成员函数的声明前面加上virual关键字,即可把函数声明为虚函数:在C++中,一个基类指针可以用于指向它的派生类对象,而且通过这样的指针调用虚函数时,被调用的是该指针实际所指向的对象类的那个重定义版本。本题中,从基类的定义可以看出:output()函数是普通成员函数,而Print()函数是虚函数。所以,通过ptr指针调用的output()是基类中的output(),而通过它调用的Print()则是派生类中的Print()。
转载请注明原文地址:https://kaotiyun.com/show/338p777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
C++语言中,派生类继承了基类的全部数据成员和除【】之外的全部函数成员。
若有说明语句chara[]="Itismine";char*p="Itismine";则以下不正确的叙述是
结构化程序设计所规定的三种基本控制结构是()。
下列叙述中,不属于测试的特征的是
以下有关成员函数特征的叙述不正确的是
Jackson结构化程序设计方法是英国的M.Jackson提出的,它是一种面向______的设计方法。
按照标识符的要求,下列选项中,()符号不能组成标识符。
Staff类含有int型数据成员ID,两个Staff对象相等是指它们的ID相同。下面的函数重载了运算符==,它用来判断两个Staff对象是否相等,相等时返回true,否则返回false。请将横线处缺失部分补充完整。boolStaff::Staf
______是数据库设计的核心。
随机试题
理论研究具有_________体系的层次性。
下列物质可作为超临界流体的为
我国的《护士条例》中规定了护士的权利和义务。在以下的护士享有的权利的诉讼中,不正确的是()
根据建设项目的经济和社会发展目标,提出诸如()等目标,分析项目满足这些目标的程度,进行多目标分析评价。
施工中因不可抗力事件的影响而使承包商受到损失时,可以进行索赔的款项可能包括()。
某企业期初资产总额1200万元,负债总额480万元,所有者权益总额720万元。该企业本期发生下列经济业务:(1)向银行借入短期借款15万元,存入银行;(2)将资本公积30万元转增资本;(3)以银行存款5万元预付采购材料货款;
在物品出租期间,物品的使用权归()。
在我国证券回购市场上,回购期限为()。
进退维谷,这是()冲突。
操作系统的主要功能是________。
最新回复
(
0
)