首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序: #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
25
问题
有如下程序: #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://jikaoti.com/ti/IKt0FFFM
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
静态成员函数不能说明为
在下面的运算符重载函数的原型中,错误的是
已知:intn=10;那么下列语句中错误的是
将下面的语句段(A)补充完整,使其和语句段(B)在功能上完全等价。(a)doubles=0.0;【】;intk=0;do{s+=d;k
关于常成员函数,下列说法中错误的是
假定有下列变量定义: int k=7,x=12; 则能使值为0的表达式是
运算符函数调用格式的表达式y/x++与表达式y.operator/(operator++(x,0))的含义相同,由此可看出()。
以下选项中合法的用户标识符是
下列选项中不属于软件工程3个要素的是()。
数据流图采用4种符号表示______、数据源点和终点、数据流向和数据加工。
随机试题
正常妊娠的生理变化,下列哪项是正确的
肺炎球菌肺炎的典型症状是()
控制图是用样本数据来分析判断生产过程是否处于稳定状态的有效工具。它的用途主要包括()。
企业用资本公积转增资本,增加了企业的注册资本,同时也会改变企业所有者权益的总额。()
在( )的情况下,买入套期保值者可以得到完全保护并有盈余。
甲企业为增值税一般纳税人,适用的增值税税率为16%,每月月初发放上月工资,2018年12月1日,“应付职工薪酬”科目贷方余额为33万元。该企业2018年12月发生职工薪酬业务如下:(1)5日,结算上月应付职工薪酬33万元。其中代扣代缴的职工个人所得税1.
国内1日游旅游者,指我国大陆居民未在我国任何地方过夜,他们离开常住地和出游时间为()。
1956年,我国对农业、手工业和资本主义工商业的社会主义改造基本完成,这表明中国已经胜利地完成了从新民主主义到社会主义的过渡,社会主义基本制度在中国得到了全面的确立。社会主义改造的胜利
1.打开考生文件夹5下的Word文档WT1.DOC,其内容如下:【WT1.DOC文档开始】声明科学是中国发展的机遇新华网北京10月28日电在可预见的未来,信息技术和声明科学将是世界科技中最活跃的两个领域,两者在未来有交叉融合的趋
I’mgoingtotalkaboutthepreservingoffruitshere.Attheendofeverysummer,astheheapsoffreshfruitstarttodwindle(
最新回复
(
0
)