首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序; #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
2017-04-25
43
问题
有如下程序;
#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/O2Ap777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
下列关于函数的描述中,错误的是()。
可以通过下面哪些函数实现类的多态性( )。
对于多重继承,下面说法中正确的是( )。
指针变量所保存的不是一般的数据值,而是程序中另一个对象的______。
实体之间的联系可以归结为一对一的联系,一对多的联系与多对多的联系。如果一个学校有许多学生,而一个学生只归属于一个学校,则实体集学校与实体集学生之间的联系属于______的联系。
对于语句cin>>x;中的各个组成部分,下列叙述中错误的是
执行语句序列ofstreamoutfile("DATA.DAT");if(...)cout<<"OK";elsecout<<"FAIL";后,如果文件打开成功显示"OK",否则就显示"FAIL"。由此可知,上面if语句的…处的表
以下选项中合法的实型常数是
在软件生存周期中,能准确地确定软件系统必须做什么和必须具备哪些功能的阶段是
随机试题
下列各项中,属于外来原始凭证的是()。
A.直接蔓延B.淋巴道转移C.血道转移D.种植转移子宫颈癌最常见的转移途径是
男孩,3岁。发热、咳嗽5d,少尿、浮肿2d,尿蛋白++。各项血化验报告出来前,先应予下列哪项治疗
下列哪项表现不属于亡阳证的临床表现( )。
下列有关商业银行解散的说法错误的是?
根据《水利水电工程标准施工招标文件》,承包人发生违约行为,通常视事态发展的过程,监理人可采取()等措施。
根据劳动合同法律制度的规定,某建筑公司因经营方式调整,决定裁减50名员工,应在裁减前一定时间向工会或者全体职工说明情况。则该时间为()天。
工厂火灾,有数十人伤亡。由于事故原因正在调查,新闻发言人通报的信息并不是很多,很多记者提出质疑,部分家属情绪激动,并冲上台,现场秩序出现混乱,你作为新闻发布会的主持人。该怎么做?
在Google搜索中使用手气不错直接搜索辽宁大学主页。
Forthispart,youareallowed30minutestowriteashortessay.Youshouldstartyouressaywithabriefdescriptionofthepi
最新回复
(
0
)