首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序: #include using namespace std; class Shape{ //图形类 public: //图形绘制函数(用显示字母模拟) virtual
有如下程序: #include using namespace std; class Shape{ //图形类 public: //图形绘制函数(用显示字母模拟) virtual
admin
2015-06-27
32
问题
有如下程序:
#include
using namespace std;
class Shape{ //图形类
public:
//图形绘制函数(用显示字母模拟)
virtual void draw()const{ cout<<’S’; }
};
class Circle: public Shape{ //圆形类
public:
void draw()const{ cout<<’C’; }
};
void plot(Shape &s){ s.draw(); }
int main(){
Shape *ps=new Circle;
Circle t;
ps->draw();
t.draw();
plot(t);
delete ps;
return 0;
}
运行这个程序的输出是
选项
A、SCC
B、SCS
C、CSS
D、CCC
答案
D
解析
C++中,多态性调用需要满足两个条件,1、被调用成员函数必须是虚函数;2、必须通过基类类型的引用或指针进行函数调用。多态性使程序在运行时期根据指针或引用所指对象的类型来决定调用哪个函数。程序中,类Shape定义了虚函数draw(),在派生类Circle中重写了函数draw();main函数中,分别使用指针、对象、引用三种方式调用函数draw(),指针ps是基类指针,指向的是派生类的对象,所以这里根据多态性,将调用Circle中的draw函数,输出"C";对象t是Circle对象,也调用Circle中的draw函数,输出"C";函数plot()执行时引用s引用的是实参t,引用对象是派生类Circle对象,根据多态性,同样调用Circle中的draw函数,输出"C";结果输出为"CCC";答案为D。
转载请注明原文地址:https://kaotiyun.com/show/xRNp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
在一个派生类中,对基类成员、类对象成员和非类对象成员的初始化次序是先【】,后【】,最后为【】。
下列说法有错误的是______。
当执行以下程序时,______是正确的k=1;do{k=k*k;}while(!k)
下面______机制允许对一个函数名给出多个函数定义
数据的四种基本逻辑结构是指______。
以下程序中,while循环的循环次数是()。main(){inti=O;while(i<10){if(i<1)continue;if(i==5)b
长度为n的简单插入排序法,最坏情况需要______次比较。
下列选项中不属于软件生命周期开发阶段任务的是()。
下列关于圆括号运算符的功能说法不正确的是______。
当使用ofstream流类定义一个流对象并打开一个磁盘文件时,文件的默认打开方式为( )。
随机试题
such,so,as,that,which,whoTheyhad_______afiercedog_______noonedaretogoneartheirhouse.
患者,女,28岁,已婚。每于经行小腹冷痛。得热痛减,月经量少,持续2~3天,色暗、质稀。腰腿酸软,舌淡苔白,脉沉细尺弱。其治法是()
因其含麻黄,故青光眼、高血压病、心脏病者慎用的药物有
工程质量事故处理的方案类型有( )。
失去一个重要的顾客使B机器公司暂时有一些剩余制造产能。B公司在考虑接受特别订单,该订单包括了B公司最畅销的产品。考虑以下各类成本:Ⅰ.产品的变动成本Ⅱ.产品的固定成本Ⅲ.与订单相关的直接固定成本Ⅳ.暂时闲置产能的机会成本在是否接受该特别订单的决策
反倾销调查应当终止的情形有()。
Whenwepraisethechildren,"youdidaverygoodjob!"youcanraiseyourthumbwithoutsaying"good".Thissuitationmeansth
幼儿教师在教授动作示范时往往采用“镜面示范”,原因是()。
按照学习迁移内容的抽象与概括化水平进行划分,可以将学习迁移分为()
社区是我国经济体制改革和社会发展到一定阶段后以一定地域为基础的社会群体.维护社区和谐稳定是公安机关一项重要责任。下列活动的开展不属于公安机关组织动员社区参与治安工作的是()。
最新回复
(
0
)