首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
阅读下列说明、图和C++代码,填补C++代码中的空缺(1)~(5),将解答写在对应栏内。 [说明] 已知对某几何图形绘制工具进行类建模的结果如图5-1所示,其中Shape为抽象类(应至少包含一个纯虚拟(virreal)函数),表示通用图形,Bo
阅读下列说明、图和C++代码,填补C++代码中的空缺(1)~(5),将解答写在对应栏内。 [说明] 已知对某几何图形绘制工具进行类建模的结果如图5-1所示,其中Shape为抽象类(应至少包含一个纯虚拟(virreal)函数),表示通用图形,Bo
admin
2012-01-13
56
问题
阅读下列说明、图和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
程序员下午应用技术考试
软考初级
相关试题推荐
在Windows7中,磁盘文件类型可以根据______来识别。
在Word2010中,要对设定好纸张大小的文档进行每页行数和每行字数调整,可通过页面设置对话框中的()命令进行设置。
数据分析报告的编写原则中不包括(70)。
在Excel中,设单元格A1中的值为100,B1中的值为200,A2中的值为300,B2中的值为400,若在A3单元格中输入函数“=SUM(A1:B2)”,按回车键后,A3单元格中的值为()。
在Word的编辑状态下,先后新建了两个文档,但并没有对这两个文档做“保存”或“另存为”操作,则______。
文件的使用权限包括完全控制、允许写入、允许读取、允许运行、允许删除等,其中完全控制、允许写入、允许读取、允许运行都允许用户进行的操作是(38)。
下列关于信息存储的叙述,不正确的是______。
计算机在接通电源后,系统首先由(41)程序对内部每个设备进行测试。
()是移动互联网的组成部分。
有一个关系:学生(学号,姓名,系别)。其中规定了学号的值域是8个数字组成的字符串,这属于(23)。
随机试题
CulturalDifferencesinReadingEmotionsPeoplefromEastAsiatendtohavemoredifficultythanthosefromEuropeindisting
肺功能显像结果分析,以下说法不正确的是
某卵巢癌患者术后病理报告提示:大网膜、肠系膜内及月干表面、膈表面均有癌转移,最大直径为1.5cm,余未见转移。该患者分期应为
易导致汗出口渴脉浮的是
设备监理机构组织设计的技术和方法有()。
足球比赛场地是用线来标明的,这些线作为场内各个区域的边界线应包含在各个区域之内。两条较长的边界线叫()。
将下列五线谱译成简谱。
请示是一种常用的公文,凡涉及有关工作中的重大问题或者需要上级机关予以审核批准的事项,如(),应以“请示”行文。
行政裁决:指行政主体依照法律授权,对平等主体之间发生的、与行政管理活动密切相关的、特定的民事纠纷(争议)进行审查并作出裁决的具体行政行为。下面属于行政裁决行为的是()。
材料一:《唐律疏议.名例律》:“谓告言、詈言、诅詈祖父母、父母,绞;祖父母、父母在,别籍异财,徒三年;供养有缺,徒二年;居父母丧,身自嫁娶、作乐、释服从吉,徒三年;闻祖父母、父母丧,匿不举哀,流二千里;诈称祖父母、父母死,徒三年。”材料二:《大明
最新回复
(
0
)