面向对象程序设计( C++)课程设计报告班级: 191152 学号: 188 姓名:夏体凡日期: 2016 年 7 月 4 日目录一、原创性申明 ⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯3 二、题目与要求 ⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯4 三、需求分析 ⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯.4 四、概要设计 ⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯.⋯⋯⋯⋯..5 五、 详细设计 ⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯.⋯⋯5 六、测试 ⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯.⋯.7 七、结论⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯.⋯..9 八、附录⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯.⋯.11 原创性声明:本人声明报告者中的内容和程序为本人独立完成,引用他人的文献、数据、图件、资料均已明确标注出。除标注内容外,不包含任何形式的他人成果,无侵权和抄袭行为,并愿意承担由此而产生后果。作者签字:时间:指导教师评语:课程成绩:程序界面(10 分)程序结构和功能(40 分)程序安全和效率(40 分)报告(10 分)指导教师签字:时间题目与要求设计如下类,其功能和部分成员如下:Object: 抽象类,所有的物体都有价值 (profit )属性;Point: 点的位置三维空间; Line Segment(线段),Rectangle,Cuboid, Square,Cube,Circle,Cylinder 功能:能够实现上述物体的移动(move ),放大 (zoomin) ,缩小 (zoomout) ,大小比较 (compare) ,打印物品信息(cout<<编号、面积、容积和价值)等操作,且所有物品的对象实现自动编号。移动 : Line 类对象移动其中点, Rectangle、Square 和 Circle: 移动重心, Cubiod、Cube 和 Cylinder: 移动底面重心放大和缩小:以倍数为参数,进行相应组件的放大和缩小判断:空间内某一点 (Point)是否在另一物体内;线段 (Line)是否和另一物体相交默认比较方式:Line: 比较长度, Rectangle、Square 和 Circle:比较面积Cubiod、 Cube 和 Cylinder: 比较体积。同维度(或不同维度)空间内的不同类物体之间可进行大小比较。相等返回 0,小于返回 -1、大于返回1 再设计一个容器类(Container). 容器具有最大容量属性。功能:能容纳以上定义的各种3D 物品( Cylinder,Cube 和 Cuboid), 实现添加一个物品 (add),移除容器里的一个物品(remove), 重载 [] , 排序:不改变物品在容器中的位置(下标) ,把物品的id 按照排序结果 (根据物品某一关键字)返回 ;附加功能:给定一...