还剩7页未读,继续阅读
文本内容:
综合实验报告面向对象程序设计专业名称班级___姓名学号信息科学与工程学院二零一三年七月目录TOC\o1-2\h\z\u第一题
11.1题目概述
11.2设计思路
11.3设计说明与调试分析
21.4编码实现
21.5程序运行结果4第二题
42.1题目概述
42.2设计思路
42.3设计说明与调试分析
42.4编码实现
52.5程序运行结果6设计心得7____7第一题
1.1题目概述用抽象类设计计算二维平面图形__的程序在基类TDshape中设计纯虚函数area和printName,area用于计算机几何图形的__,printName用于打印输出几何图形的类名,如________类的对象就打印输出“________”每个具体形状的类则从抽象类TDshape派生,各自需要定义其独有的数据成员和成员函数,并且定义area和printName的具体实现代码,如图5-9所示TDshapeVirtualarea=0VirtualprintName=0RectangleareaprintNamegetHeightsetHeightdoublewidthheight________areaprintNamegetWitdthsetWidthdoublewidthheight要求编写以TDshape为接口的函数,借以访问具体类如________和Rectangle类的成员函数areaprintName
1.2设计思路用虚构函数写出基类TDshape,之后创建派生类Trangle、Rectangle每个派生类都定义doublewidthheight,之后定义areaprintName每个里面都有cout函数,同时每个派生类都有set和get函数,分别用来给widthheight赋值和返回widthheight的数值
1.3设计说明与调试分析见代码
1.4编码实现#includeiostreamusingnamespa__std;classTDshape{public:virtualvoidarea=0;virtualvoidprintName=0;};class________:publicTDshape{//公有继承TDshapeprivate:doublewidthheight;//定义私有成员widthheightpublic:voidsetWidthdoublew{width=w;//赋值给width}voidsetHeightdoubleh{height=h;//赋值给height}doublegetWidth{returnwidth;//返回width的值}doublegetHeight{returnheight;//返回height的值}voidprintName{cout该图形是三角形endl;//输出图形的个名字}voidarea{cout__是width*height*
0.5endl;//计算__并且输出}};classRectangle:publicTDshape{//公有继承TDshapeprivate:doublewidthheight;//定义私有成员widthheightpublic:voidsetWidthdoublew{width=w;//赋值给width}voidsetHeightdoubleh{height=h;//赋值给height}doublegetWidth{returnwidth;//返回width的值}doublegetHeight{returnheight;//返回height的值}voidprintName{cout该图形是矩形endl;//输出图形名称}voidarea{cout__是width*heightendl;//计算__并且输出}};int__in{Rectangler;________t;r.setHeight70;//调用Rectangle中的setheight给height赋值r.setWidth60;//调用Rectangle中的setwidth给width赋值r.printName;//调用Rectangle中的printName打印出图形名称r.area;//打印__t.setHeight70;t.setWidth60;t.printName;t.area;}
1.5程序运行结果第二题
2.1题目概述假设有一个工人类,形式如下classWorker{charname
[10];intage;doublesalary;public:Worker…voidSetDatachar*NameintAgedoublewagevoidDisplay……}其中的name表示姓名、age表示年龄、salary表示薪金,构造函数worker()实现各数据成员的初始化,SetData()成员函数用于重置各数据成员的值,Display用于显示输出各数据成员的值完成该类的设计,并用STL中的链表list(或向量vector、堆栈stack、队列queue等数据结构)管理该类的对象,要求至少建立两个链表、每个链表中至少存入Worker类的3个对象,通过迭代器访问输出各节点对象的数据成员,并利用链表的merge算法将两个链表合并在一起,然后输出合并后的链表节点对象
2.2设计思路
2.3设计说明与调试分析见代码
2.4编码实现#includeiostream#includestring.h#includelist#includestringusingnamespa__std;classWorker//定义Worker类{charname
[10];//姓名intage;//年龄doublesalary;//薪水public:Worker{}Workerchar*nintadoubles//构造函数{strcpynamen;//把n中的字符__给nameage=a;//a中的数值赋值给agesalary=s;//s中的数值赋值给salary}voidSetDatachar*NameintAgedoublewage//用于重置的函数{strcpynameName;//把Name中的字符__给nameage=Age;//把Age中的数值赋值给agesalary=wage;//把wage中的数赋值给salary}voidDisplay//用于输出的函数{cout姓名nameendl;cout年龄ageendl;cout工资salaryendl;}};int__in{listWorker*pq;listWorker*::iteratori;Workera杨503000;Workerb孙443500;Workerc;c.SetData倪415000;p.push_backa;q.push_backb;fori=p.begin;i!=p.end;i++{*i-Display;}fori=q.begin;i!=q.end;i++{*i-Display;}while!p.empty{p.pop_front;}cout重置之后的结果:endl;p.push_backc;fori=p.begin;i!=p.end;i++{*i-Display;}p.mergeq;cout合并之后的结果endl;fori=p.begin;i!=p.end;i++*i-Display;}
2.5程序运行结果设计心得程序设计是一门考验耐心和细心的学科,需要很强的逻辑思维能力,尤其是指针部分,逻辑思维能力尤其重要程序的编写是一个枯燥的过程,需要耐心和兴趣来支持____《C++面向对象程序设计(第二版)》杜茂康等电子工业出版社
2011.7。