首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
阅读下列说明、图和C++代码,填补C++代码中的空缺(1)~(5),将解答写在对应栏内。 [说明] 已知对某几何图形绘制工具进行类建模的结果如图5-1所示,其中Shape为抽象类(应至少包含一个纯虚拟(virreal)函数),表示通用图形,Bo
阅读下列说明、图和C++代码,填补C++代码中的空缺(1)~(5),将解答写在对应栏内。 [说明] 已知对某几何图形绘制工具进行类建模的结果如图5-1所示,其中Shape为抽象类(应至少包含一个纯虚拟(virreal)函数),表示通用图形,Bo
admin
2012-01-13
58
问题
阅读下列说明、图和C++代码,填补C++代码中的空缺(1)~(5),将解答写在对应栏内。
[说明]
已知对某几何图形绘制工具进行类建模的结果如图5-1所示,其中Shape为抽象类(应至少包含一个纯虚拟(virreal)函数),表示通用图形,Box表示矩形,Ellipse表示椭圆,Circle表示圆(即特殊的椭圆),Line表示线条。
下面的C++代码用于实现图5-1所给出的设计思路,将其空缺处填充完整并编译运行,输出结果为:
Ellipse
Circle
Ellipse
C
E
[C++代码]
#include<string>
#include<iostream>
using namespace Std;
class Shape{
public:
Shape(const String& name){
m_name=name;
}
~Shape(){}
(1) void paint()=0;
string getName()const{
return m_name;
}
private:
string m_name;
};
//Box和Line类的定义与Ellipse类似,其代码略
class Ellipse (2) {
public:
Ellipse(const String& name): Shape(name){cout<<"E1lipse"<<end1;}
void paint() { cout<<getName()<<end1; }
};
class Circle (3) {
public:
Circle(const string& name): Ellipse(name)(cout<<"Circle"<<end1;}
};
class Diagram{
public:
void drawAShap(Shape* shape){ shape->paint();}
void drawShapeS(){
shapes[0]=new Circle("C");
shapes[1]=new Ellipse("E");
for (int i=0; i<2; ++1) {
drawAShap(Shapes
);
}
}
void close()( /*N除形状,代码略$/)
private:
Shape* shapes[2];
};
int main()
{
Diagram* diagram= (4) ;
diagram->drawShapes();
diagram->close();
(5) diagram;
}
选项
答案
virtual public Shape public Ellipse new Diagram delete
解析
本题考查C++语言程序设计的能力,涉及类和抽象类、对象、函数和虚函数的定义和相关操作,以及继承关系。要求考生根据给出的案例和执行过程说明,认真阅读理清程序思路,然后完成题目。
先考查类图整体结构。本题中根据类图定义了类:Diagram、Shape、Box、Ellipse、Line和Circle。其中Shape为抽象类,表示通用图形,抽象类中应至少包含一个纯虚拟(virtual)函数。Box表示矩形,Ellipse表示椭圆,Line表示线条,三者都是Shape的子类,继承了Shape类,Circle表示圆(即特殊的椭圆),继承了Ellipse。
抽象类Shape的定义中,需要通过使用virtual标识虚函数,void paint()=0;表示paint()是纯虚函数,其定义前必须添加virtual进行表示。类Ellipse为Shape的子类,Circle为Ellipse的子类,需要在代码中体现出继承。另外,在子类的构造函数中,调用父类的构造函数,所以继承的权限为public。其语法为:public后加类名。
类Diagram中没有定义构造函数,编译器生成一个缺省的构造函数,调用是采用new关键字加类名。使用完成之后,通过delete进行释放。
因此空(1)需要表现出paint()函数为纯虚函数,即为virtual;空(2)和空(3)处添加继承父类,并且权限为public,即为:public Shape和:public Ellipse;空(4)处补充通过使用编译器生成的缺省构造函数创建对象,即ilew Diagram;空(5)处通过delete释放new创建的对象diagram。
转载请注明原文地址:https://kaotiyun.com/show/A6jZ777K
本试题收录于:
程序员下午应用技术考试题库软考初级分类
0
程序员下午应用技术考试
软考初级
相关试题推荐
企业数字化转型是指企业在数字经济环境下,利用数字化技术和能力实现业务的转型、创新和增长。企业数字化转型的措施不包括()。
图像数据压缩的主要目的是(25)。
在Excel2007中,若在单元格A1中输入函数“=MID(“RUANKAO”,1,4)”,按回车键后,则A1单元格中的值为()。
在Excel的A2单元格中输入:“=1=2”,则显示的结果是______。
许多书上都说,人一次只能记住或处理5~9(7±2)条信息。为了检验这个结论是否正确,宜采用()调查方法。经过多次调查统计研究发现,人一次平均只能记住或处理4条信息。经考证,原来7±2的说法只是一位专家在一个讲演稿中的估计,并不是真正的调研报告,但却
某学校有多个班,每个班有多名学生但只能有一个班长,那么班长与学生这两个实体之间的关系是(57)。
在Excel中,若要计算出B3:E6区域内的数据的最小值并保存在B7单元格中,应在B7单元格中输入______。
Windows系统的快捷方式确切的含义是______。
下图主板接口中,①处是(28),②处可以接的设备是(29),③处可以接的设备是(30)29.
有一个关系:学生(学号,姓名,系别)。其中规定了学号的值域是8个数字组成的字符串,这属于(23)。
随机试题
瘀热互结的下焦蓄血证,治宜
马克思主义的发展观是()的辩证统一。
女,36岁,间断腹痛、腹泻5年,大便3~5次/日,带黏液,无脓血,便后胀痛缓解,受凉及紧张后症状加重,无发热,抗生素治疗无效。体重无减轻。粪隐血试验阴性。最可能的诊断是
关于明代法律制度,下列哪一选项是错误的?(2011年试卷一第17题)
符合团结友善道德规范要求的是()。
根据下列资料,回答下题。2011年末,湖南省中小企业共计18.49万,较上年增长11.0%,占全省企业总数的99.8%。2011年全省中小企业实现增加值达8154.32亿元,较上年增长16.1%;中小企业增加值占GDP的比重为41.5%,比上年提
下列说法错误的是:
提出构建社会主义和谐社会的战略任务的会议是()
某市公安局信息中心机房于2003年建立,目前IT设备支撑着警综系统、八大资源库、110联动项目、政法网、警用地理信息系统,市局OA系统等;2018年,某市公安局提出《某市公安局直属单位信息化机房及硬件基础设施建设和运维统筹实施方案》,将信息中心运维范围进一
Whenyoucallthepolice,thepolicedispatcherhastolocatethecarnearestyouthatisfreetorespond.Thismeansthedispat
最新回复
(
0
)