首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序: #inc1ude<iostream> using namespace std; class Base{ public: void output() {cout<<l
有如下程序: #inc1ude<iostream> using namespace std; class Base{ public: void output() {cout<<l
admin
2016-11-23
40
问题
有如下程序:
#inc1ude<iostream>
using namespace std;
class Base{
public:
void output() {cout<<l; }
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/KzAp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
在关系模型中,
从一个函数模板产的模板函数是同名的,因此编译器用______的解决方法调用相应函数。
C++语言的基本控制结构为顺序结构、选择结构和【】。
执行下面的程序段后,变量k的值为()。intk=3,s[2];s[0]=k;k=s[1]*10;
如果一个模板声明列出多个参数,则多个参数之间必须使用______隔开,每个参数都必须重复使用关键字______。
若已定义的函数有返回值,则以下关于该函数调用的叙述中错误的是()。
定义如下变量:charone_char,则语句cin>>one_char等价于C语言中的()语句。
在一个容量为25的循环队列中,若头指针front=9,尾指针rear=16,则该循环队列中共有【 】个元素。
在一个容量为32的循环队列中,若头指针front=3,尾指针rear=2,则该循环队列中共有______个元素。
随机试题
开通数控系统有哪些产品系列?各产品系列有哪些适用范围和性能特点?
清算报告要经验证后,报企业主管机关和原登记注册机关,办理停业登记()
下列各项中,不属于《伤寒论》四逆散原方的是
马钱子含的生物碱是()。
A.感受寒湿B.感受湿热C.阳气不足D.阳气暴脱E.戴阳证面、目、身俱黄,黄色鲜明如橘子色者的病机是
工作总时差是()。
根据证监会的有关规定,证券交易所向证监会报送基金交易行为月度监控报告的时限是()。
在职业生涯管理过程中,划分职种职级数是重要的环节。划分职级数时,职级差异包括纵向差异和横向差异。以下属于纵向差异的是()。
求,其中D:x2+y2≤π2.
在考生文件夹下有一个工程文件sjt5.vbp,相应的窗体文件为sjt5.frm,此外还有一个名为datain.txt的文本文件,其内容如下:324376582812985731425364758
最新回复
(
0
)