首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
有如下程序: #include using namespace std; class Shape{ //图形类 public: //图形绘制函数(用显示字母模拟) virtual
有如下程序: #include using namespace std; class Shape{ //图形类 public: //图形绘制函数(用显示字母模拟) virtual
admin
2015-06-27
29
问题
有如下程序:
#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全国计算机二级
相关试题推荐
下面是一个栈类的模板,其中push函数将元素i压入栈顶,pop函数弹出栈顶元素。栈初始为空,top值为0,栈顶元素在stack[top-1)中,在下面横线处填上适当语句,完成栈类模板的定义。template<classT>class
下面程序的运行结果是______。#include<iostream.h>classA{publicvirtual、~(){cout<<”callA::~A()”<<end1;}};
整型变量a定义后赋初值的结果是______。inta=2.8*6
下列叙述中不属于结构化程序设计方法的主要原理的是______。
若把类B定义为类A的友元类,则应在类A中加入定义语句【】。
当将E-R模型转换为关系模型时,对于两实体间m:n联系,必须对“联系”单独建立______,用来联系双方实体。
关于类模板,下列表述中不正确的是()。
已知枚举类型定义语句为: enum Token{NAMB,NUMBER,PLUS=5,MINUS,PRINT=10}; 则下列叙述中错误的是
在数据管理技术的发展过程中,经历了人工管理阶段、文件系统阶段和数据库系统阶段。其中数据独立性最高的阶段是
将E-R图转换到关系模式时,实体与联系都可以表示成
随机试题
成就需要理论的提出者是()
纯净胃液是
既能涩肠止泻,又能敛肺止咳,并能止痛的药物是
患儿,8岁。上呼吸道感染1周,咽部疼痛明显,3天前发现右颈一蚕豆大小包块。查体:右颈外上扪及2枚淋巴结,直径分别约1.5cm及0.8cm,质软,活动,轻压痛,未发现其他淋巴结肿大。临床诊断为
在人体实验中下列做法不合乎伦理的是
下列各句中,属于主谓谓语句的是()。
当经济学在强调市场与利润的时候,文学依然在谈论人格与道德的完善;当管理学在强调规则与制度的时候,文学依然迷恋于自由与人情:当法律学在强调政治与秩序的时候,文学依然偏爱叛逆与温情;当科学在强调实证与精确的时候,文学依然醉心于想象与超验。对这段文字理
一项新的研究发现.短期摄入高脂食物有益心脏。研究人员在实验后期人工引发老鼠心脏缺血性伤害,类似人心脏病发作时的情况,他们发现,吃高脂食物24小时、l周和2周的老鼠心脏组织受损状况比吃6周高脂食物的老鼠和“吃素”的老鼠轻70%。研究人员认为这是由于短期摄人高
OneGoodReasontoLetSmallpoxLiveIt’snowafairbetthatwewillneverseethetotalextinction(灭绝)ofthesmallpox(天花)
TheLondontoBrightonCarRunThefirstLondontoBrightonruntookplaceonNovember14th,1896.Itwas【21】org______tocel
最新回复
(
0
)