ImageVerifierCode 换一换
格式:DOCX , 页数:81 ,大小:573.08KB ,
资源ID:25614075      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/25614075.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(C++面向对象程序设计上机实践指导.docx)为本站会员(b****7)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

C++面向对象程序设计上机实践指导.docx

1、C+面向对象程序设计上机实践指导东华理工大学软件学院面向对象程序设计上机实践指导2016-4-10C+语言基础实践项目(一)初识对象 【项目1 - 旱冰场造价】有一个圆形的旱冰场地,场地内抹水泥,造价为每平方米M元,围栏用木条围成,每米造价N元,输入旱冰场半径,用程序计算出其造价。一级提示:先定义类,确定其数据成员和成员函数。在这里要定义的旱冰场类,实际我们只关心其面积和周长,根据面积计算场地内抹水泥的造价,根据周长计算围栏的造价。有了类的定义,在main函数中定义该类对象,调用成员函数即可以完成求解。二级提示:实际上,对于旱冰场,我们只关心它就是一个圆。这就是设计中抓住了本质。于是,设计一个

2、Circle(圆)类,数据成员为圆的半径,Circle类还提供计算圆的面积和边长的成员函数。在main函数中,定义一个Circle类的对象,调用成员函数求出旱冰场的造价。三级提示:请在下面提示的基础上完成程序,其中需要做的工作包括:(1)在类声明中声明相关的公共成员函数;(2)在类声明和main()函数之间,定义声明的成员函数。constintM=20;/水泥场地每平米造价constintN=35;/围栏每米造价classCircle/下面声明需要的成员函数(从已经提供的main函数中可以找出需要哪些成员函数)public:private:doubleradius;/下面定义需要的成员函数in

3、tmain()doubler;coutr;Circlec;c.setRadius(r);cout旱冰场的造价为M*c.area()+N*c.circumference()元。endl;return0;const int M=20; /水泥场地每平米造价const int N=35; /围栏每米造价class Circle /下面声明需要的成员函数(从已经提供的main函数中可以找出需要哪些成员函数)private: double radius;/下面定义需要的成员函数int main() double r; coutr; Circle c; c.setRadius(r); cout旱冰场的造价

4、为 M*c.area()+N*c.circumference() 元。endl; return 0;【项目2 - 长方柱类】编写基于对象的程序,求3个长方柱(Bulk)的体积。数据成员包括长(length)、宽(width)、高(heigth)、体积,要求设计成员函数实现下面的功能:(1)由键盘输入3个长方柱的长、宽、高;(2)计算长方柱的体积(volume)和表面积(areas);(3)输出这3个长方柱的体积和表面积;【项目3 - 时间类】阅读、运行程序后,按要求扩充类的功能#include using namespace std;class Timepublic: void set_tim

5、e( ); void show_time( ); private: bool is_time(int, int, int); /这个成员函数设置为私有的,是合适的,请品味 int hour; int minute; int sec;void Time:set_time( ) char c1,c2; couthourc1minutec2sec; if(c1!=:|c2!=:) cout格式不正确,请重新输入endl; else if (!is_time(hour,minute,sec) cout时间非法,请重新输入endl; else break; void Time:show_time( )

6、couthour:minute:secendl;bool Time:is_time(int h,int m, int s) if (h24 | m60 | s60) return false; return true;int main( ) Time t1; t1.set_time( ); T1.show_time( ); return 0;要求:(1)请在原类基础上,在类内增加下列成员函数(将是内置成员函数)add_a_sec() /增加1秒钟add_a_minute() /增加1分钟add_an_hour() /增加1小时在main()数中,调用新增加的成员函数,以测试扩充后的功能。(2)

7、再增加三个成员函数,要求在类内声明,类外定义。add_seconds(int) /增加n秒钟add_minutes(int) /增加n分钟add_hours(int) /增加n小时提示:要考虑增加后超出取值范围的情形;增加n秒后,秒数可能会超过60,调整秒数,并可以调用增加分钟数的成员函数,使时间合法;同理,增加分钟数也有类似问题。【项目4 - 图书馆的书】编写一个Book类,包含name(书名)、writer(著者)、public_name(出版社)、price(价格)、number(数量)、NO(书号)等数据成员。定义成员函数setBook,用来为书籍的数据成员赋值,定义成员函数borro

8、w和restore,分别办理借出和还回(借、还书时,暂时只完成数量的增1减1,这里的书仍是一种书的概念,随着课程进展,我们继续做真正的图书管理系统,每本书都能追踪到是谁何时借了,何时还了)业务,定义成员函数print用于输出有关书的信息,定义set_NO与get_NO来实现修改类对象的书号与获得类对象的书号。自己写main函数,用来测试你编写的类。C+语言基础实践项目(二)和对象找感觉 【项目1 - 三角形类1】下面设计一个三角形类,请给出各成员函数的定义/请在下面定义Triangle类中的各个成员函数#include#includeusing namespace std;class Tria

9、nglepublic: void setABC(double x, double y, double z);/置三边的值,注意要能成三角形 void getABC(double *x, double *y, double *z);/取三边的值 double perimeter(void);/计算三角形的周长 double area(void);/计算并返回三角形的面积private: double a,b,c; /三边为私有成员数据;int main() Triangle tri1; /定义三角形类的一个实例(对象) tri1.setABC(4,5,6); /为三边置初值 double x,y

10、,z; tri1.getABC (&x,&y,&z); /将三边的值为x,y,z赋值 cout三条边为:xtytzendl; cout三角形的周长为: tri1.perimeter()t面积为: tri1.area()endl; return 0;/请在下面定义Triangle类中的各个成员函数【项目2 - 三角形类2】程序功能同项目1,main()函数如下,请重新定义Triangle类,其中逻辑特别简单的set和get成员函数,要处理为内置成员函数,直接在类内定义。int main() Triangle tri1; /定义三角形类的一个实例(对象) double x,y,z; coutxyz

11、; tri1.setA(x); tri1.setB(y); tri1.setC(z); /为三边置初值 if(tri1.isTriangle() cout三条边为:tri1.getA(),tri1.getB(),tri1.getC()endl; cout三角形的周长为: tri1.perimeter()t面积为: tri1.area()endl; else cout不能构成三角形endl; return 0;【项目3 - 程序的多文件组织】利用多文件组织,重新实现项目2。其中,整个项目包括3个文件:主文件: main.cpp,用于定义main()函数头文件: triangle.h,头文件,声明

12、类,定义内置成员函数类定义文件: triangle.cpp,用于定义类Triangle中其他成员函数注意,将3个set函数和3个get函数设计成内置成员函数,其他函数不作为内置函数。【项目4 - 考了语文数学的学生】下面提供了类Stu的数据成员定义,和用于测试的main函数,参考如图的运行结果,完成类的定义,并用多文件形式组织程序#includeusingnamespacestd;classStuprivate:stringname;/学生姓名floatchinese;/语文成绩floatmath;/数学成绩/接下去写;intmain()Stus1,s2;s1.setStudent(Linda

13、iyu,98,96);/对象置初值s2.setStudent(Jiabaoyu,90,88);/对象置初值s1.show();/打印信息s2.show();/打印信息s1.setName(xuebaochai);/重新置p1对象的名字s1.show();couts1.Name:s1.getName()endl;/打印对象的名字couts1.average:s1.average()endl;/打印对象的成绩return0;#includeusing namespace std;class Stuprivate: string name; /学生姓名 float chinese; /语文成绩 fl

14、oat math; /数学成绩 /接下去写;int main() Stu s1,s2; s1.setStudent(Lin daiyu, 98, 96); /对象置初值 s2.setStudent(Jia baoyu, 90, 88); /对象置初值 s1.show();/打印信息 s2.show();/打印信息 s1.setName(xue baochai);/重新置p1对象的名字 s1.show(); couts1.Name: s1.getName()endl;/打印对象的名字 couts1.average: s1.average()endl;/打印对象的成绩 return 0;【项目5

15、- 数组作数据成员】设计一个工资类(Salary),其中类的数据成员如下:class Salaryprivate: double salarys50; /多人的工资 int number; /实际人数;要设计的成员函数有:void set_salarys( ):输入职工工资(输入-1标志着工资输入结束),工资保存到salary数组中,实际人数保存到number中;void add_salarys(int x):给每个人涨x元工资void sort_salarys():对工资排序void show_salarys( ):显示工资信息(1)在main函数定义Salary类的对象,输入工资,再给每个

16、人涨500元工资,排序后工资数据,然后输出结果。(2)用salary50有限制,实际人数少时,会浪费空间,人数多了,无法完成任务。在main()中先输入职工人数,作为参数传递给输入职工工资的成员函数,然后利用动态分配内存的机制,开辟一个大小正好的连续空间,完成上面的工作。(3)手工输入工资?!太让人不能忍受了。现给出包含了不足500个职工工资的文件salary.txt,从文件中读数据,完成上面的工作。(4)增加一个成员函数,将排序后结果保存到一个文件中。(5)用多文件的方式组织最后的程序。C+语言基础实践项目(三)构造函数和析构函数 【项目1-三角形类的构造函数】设计三角形类,通过增加构造函数

17、,使对象在定义时能够进行初始化,可以由下面的类声明开始,需要自己实现相关的成员函数,以及增加要求的构造函数classTrianglepublic:doubleperimeter();/计算三角形的周长doublearea();/计算并返回三角形的面积voidshowMessage();private:doublea,b,c;/三边为私有成员数据;voidTriangle:showMessage()cout三角形的三边长分别为:abcendl;cout该三角形的周长为perimeter(),面积为:area()endlendl;class Trianglepublic: double perim

18、eter();/计算三角形的周长 double area();/计算并返回三角形的面积 void showMessage();private: double a,b,c; /三边为私有成员数据;void Triangle:showMessage() cout三角形的三边长分别为:a b cendl; cout该三角形的周长为perimeter(),面积为:area()endlij;在键盘上输入i和j的值。以后,定义了CFraction c1, c2,可以用cinc1c2;输入分数,用coutc1c2等,实现分数的四则运算、比较、求倒数等。【项目3-用对象数组操作长方柱类】编写基于对象的程序,求

19、5个长方柱的体积和表面积。长方柱类Bulk的数据成员包括长(length)、宽(width)、高(heigth)等。对照已经给出的代码,要做的工作及要求有:需要你定义长方柱类,代码中已经给出由5个长方柱对象构成的对象数组b;B数组中的前3个对象b0、b1、b2直接参数初始了,需要定义构造函数,而初始化中,各对象提供的参数数目不同,需要有默认参数的构造函数(未给出的参数默认为1.0)第4个对象b3用默认构造函数初始化;第5个长方柱b4定义时不初始化,设计成员函数get_value,由键盘输入长、宽、高;设计成员函数output,在main中调用输出这5个长方柱的体积和表面积;int main()

20、 Bulk b5=Bulk(2.3,4.5,6.7),Bulk(1.5,3.4),Bulk(10.5); b4.get_value(); /下面分别输出这5个长方柱的体积和表面积【项目4-指向学生类的指针】设计一个学生类Student,数据成员包括学号(num)和成绩(score),成员函数根据需要自行设计(建议配备需要的set、get函数,以及必要的输入或输出,给出的代码中也可以找到需要成员函数的线索)。在main函数中,要做到:建立一个对象数组,通过初始化,设置5个学生的数据,要求:用指针指向数组首元素,输出第1、3、5个学生的信息;设计一个函数int max(Student *arr);,用指向对象的指针作函数参数,在max函数中找出5个学生中成绩最高者,并返回值其学号。下面给出部分程序,在此基础上完成项目:classStudentpublic:private:intnum;/学号doublescore;/成绩;/max函数返回arr指向的对象数组中的最高成绩(max并不

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1