首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序: #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
21
问题
有如下程序: #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://kaotiyun.com/show/WXAp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
所有在函数中定义的变量及函数的形式参数,都属于
选择运算的结果关系同原关系具有【】的结构框架,投影运算的结果关系同原关系通常具有【】的结构框架。
若a是float型变量,且a=6,则表达式“a/2+(int)(a+1)%2”的值为【】。
类的析构函数的作用是
在下列关系运算中,能不改变关系中属性个数且减少元组个数的是
有如下类的定义。那么空格处的语句是()。classMyClass{____________intx,y;public:MyClass(intx1=0,inty1=0){
磁盘文件操作中,打开磁盘文件的访问方式中以追加方式打开文件的
编译时的多态性可以通过使用______获得。
将一个函数声明为一个类的友元函数必须使用关键字______。
软件危机出现于20世纪60年代末,为了解决软件危机,人们提出了______的原理来设计软件,这就是软件工程诞生的基础。
随机试题
TheInternationalMonetaryFund[A]In1944,officialsfromforty-fournationsgatheredtogetherforahistoricmeetingatB
______按一定的周期和固定的程序、方法进行,是考核制度的主要形式。
捻转血矛线虫寄生于羊的
下列成分中,抗凝血作用最强的是
强心苷产生正性肌力作用的机制()
下面关于邮政局、所选址原则的叙述中,()条是必须要求的。
甲公司经与乙公司协商,以其拥有的用于经营出租的一幢公寓楼与乙公司持有的以公允价值计量且其变动计入当期损益的金融资产进行交换。甲公司的公寓楼符合投资性房地产的定义,甲公司对投资性房地产采用成本模式进行后续计量。在交换日,该幢公寓楼的账面原价为8000万元,已
下列哪位音乐家被称为“律圣”?()
你如何理解中国古代“修齐治平”的儒家思想?(暨南大学2017)
Notuntilquiterecently______anyideaofwhataguidedrocketislike.
最新回复
(
0
)