首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序: #include <iostream> using namespace std; class Base { public: void output() { cout<<1; } virtua
有如下程序: #include <iostream> using namespace std; class Base { public: void output() { cout<<1; } virtua
admin
2017-10-17
53
问题
有如下程序: #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 (); }程序的输出结果是
选项
A、1B
B、1D
C、2B
D、2D
答案
B
解析
本题考查的知识点是:虚函数与多态性。在成员函数声明的前面加上virtual修饰,即把该函数声明为虚函数。在C++中,一个基类指针(或引用)可以用于指向它的派生类对象,而且通过这样的指针(或引用)调用虚函数时,被调用的是该指针(或引用)实际所指向的对象类的那个重定义版本。本题中,就是通过基类Base的指针ptr指向new出来的派生类Derived对象,从基类的定义中可以看出,output()函数是普通成员函数,而Print()函数是虚函数。所以,通过ptr指针调用的output()是基类中的output(),而通过它调用的Print()则是派生类中的Print()。故本题的输出结果是1D,应该选择B。
转载请注明原文地址:https://www.kaotiyun.com/show/WXAp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
类的构造函数的作用是
若有以下程序:#include<iostream>usingnamespacestd;classBase{public:Base(){x=0;}
在下面的运算符重载函数的原型中,错误的是
有以下程序:classDate{public:Date(inty,intm,intd);{year=y;month=m;d
当使用fstream流类定义一个流对象并打开一个磁盘文件时,文件的隐含打开方式为
下列关于多态性的描述,错误的是
下列叙述中正确的是
下列叙述中错误的是
表达式18/4*sqrt(4.0)/5值的数据类型是()
关于模板下列说法不正确的是()。
随机试题
性质黏腻,有碍消化,脾胃虚弱者慎用的药物是
内分泌性的空腹低血糖症多由于
当归和熟地均具有的功效是
给定资料材料1宇宙只有一个地球,人类共有一个家园。地球是人类唯一赖以生存的家园,珍爱和呵护地球是人类的唯一选择。“生态兴则文明兴,生态衰则文明衰。”古今中外,人与自然和谐的关系印证着良好的生态环境对人类社会生存发展的影响。改革开放以来
“尽信书,不如无书”这句话体现了矛盾双方是可以相互转化的。()
在良好的政治中,公共权力必须受到制约。制约公共权力的方式大致可以分为丽类,一类是刚性制约;另一类是软制约,也就是道德对权力的制约。制约权力不仅要健全制度,使权力的制约具有刚性;还要发挥官德的作用,让良心制约权力。这段文字主要说明()。
下列机关中,有权决定民族乡的建置和区域划分的是()。
ScientistshavediscoveredapowerfulantibioticinthebloodstreamofgiantpandasthatcandestroybacteriaTheChineseresea
为了清除列表框中指定的项目,应使用的方法是( )。
Thispassagemainlydiscusseshowepidemicsspreadandhowtopreventinadvance.Epidemicsaremostlikelystartinbigcities
最新回复
(
0
)