![(精选)实验四-类和对象定义_第1页](http://file3.renrendoc.com/fileroot_temp3/2022-2/1/21803ef7-20b8-4bb8-aa20-40d268a51974/21803ef7-20b8-4bb8-aa20-40d268a519741.gif)
![(精选)实验四-类和对象定义_第2页](http://file3.renrendoc.com/fileroot_temp3/2022-2/1/21803ef7-20b8-4bb8-aa20-40d268a51974/21803ef7-20b8-4bb8-aa20-40d268a519742.gif)
![(精选)实验四-类和对象定义_第3页](http://file3.renrendoc.com/fileroot_temp3/2022-2/1/21803ef7-20b8-4bb8-aa20-40d268a51974/21803ef7-20b8-4bb8-aa20-40d268a519743.gif)
![(精选)实验四-类和对象定义_第4页](http://file3.renrendoc.com/fileroot_temp3/2022-2/1/21803ef7-20b8-4bb8-aa20-40d268a51974/21803ef7-20b8-4bb8-aa20-40d268a519744.gif)
![(精选)实验四-类和对象定义_第5页](http://file3.renrendoc.com/fileroot_temp3/2022-2/1/21803ef7-20b8-4bb8-aa20-40d268a51974/21803ef7-20b8-4bb8-aa20-40d268a519745.gif)
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、实验四 类和对象定义一、实验类型 设计型二、实验目的1、实验目的(1) 掌握类的声明、定义和使用方法。(2) 掌握对象的定义和使用方法。(3) 掌握具有不同访问属性的类中成员的使用方法。三、上机准备1、实验室安装VC+6.0软件。2、类的基本概念、对象的基本概念。四、实验内容与步骤1、在Rect.cpp中,定义一个矩形(Rect)类,包括矩形的左上角坐标(X1,Y1),矩形右下角坐标(X2,Y2)四个数据成员;包括计算矩形面积(getArea),计算矩形周长(getPerimeter),设置矩形数据成员(setRect)和输出矩形数据成员(print)四个成员函数。数据成员为私有成员,成员函数
2、为公有成员且在类说明内定义实现。在main()函数中建立Rect类对象并进行测试。提示与分析:(1) 分析类中数据成员的类型并定义对应的变量,如double X1,X2,Y1,Y2;(2) 分析成员函数的函数原型,即返回值及其类型以及相关参数,如:double getArea();double getPerimeter();void setRect(double,double ,double,double);void print();(3) 思考成员函数的函数体实现代码。计算矩形面积和周长的方法:Area=fabs(X2-X1)*fabs(Y2-Y1);Perimeter=(fabs(X2-X
3、1)+fabs(Y2-Y1)*2;(4) 根据要求设定类成员的访问权限,如成员函数为公有成员(public),数据成员为私有成员(private)。(5) 将成员函数的函数体代码放到类说明中。(6) 在main()函数中建立Rect类的实例并调用对象的方法进行测试,如Rect r;r.setRect(1.0,4.3,5.1,7.8);r.getArea();(7) 参考程序#include#includeusing namespace std;class Rectprivate:double X1,Y1,X2,Y2;public:double getArea()double Width=fab
4、s(X2-X1);double Height=fabs(Y2-Y1);double Area=Width*Height;return Area;double getPerimeter()double Width=fabs(X2-X1);double Height=fabs(Y2-Y1);double Perimeter=(Width+Height)*2;return Perimeter;void setRect(double x1,double y1,double x2,double y2)X1=x1;Y1=y1;X2=x2;Y2=y2;void print()coutthe coordina
5、tor of rectangle is (;coutX1,Y1),(;coutX2,Y2)endl;void main()Rect r;r.setRect(1.2,4.3,7.8,9.2);r.print();coutthe area of rectangle is r.getArea()endl;coutthe perimeter of rectangle is r.getPerimeter()endl;(8)思考去掉#include程序是否能够正常运行?) #include为什么没有.h?如果加上,程序该如何修改。2、在Point.h中,定义一个点(Point)类,包括横纵坐标X和Y两个数
6、据成员;包括设置点位置(setPoint),获得X坐标值(getX),获得Y坐标值(getY),移动点位置(Move)四个成员函数。数据成员为私有成员,成员函数为公有成员且在类说明外定义实现。在test.cpp文件中建立main()函数,在函数体中建立Point类对象并进行测试。提示与分析:(1) 在C+工程中添加Point.h文件,并录入Point类的说明和定义部分。(2) 在C+工程中添加test.cpp文件,建立main()函数并录入测试代码。(3)参考程序在Point.h文件中的程序源代码:class Pointpublic:void SetPoint(int x,int y);int
7、 getX();int getY(); void Move(int x,int y);private:int X,Y;int Point:getX()return X;int Point:getY()return Y;void Point:SetPoint(int x,int y)X=x;Y=y;void Point:Move(int x,int y) X+=x; Y+=y;在test.cpp文件中的程序源代码:#include#includepoint.hvoid main()Point p1,p2;p1.SetPoint(4,5); p2.SetPoint(8,7);p1.Move(2,1
8、);p2.Move(1,3);coutx1=p1.getX()y1=p1.getY()endl;coutx2=p2.getX()y2=p2.getY()endl;(4)思考“.h”文件和“.cpp”文件的区别与联系?3、建立一个日期(Tdate)类,包括年(Year)、月(Month)和日(Day)等数据成员和判断是否闰年(isLeapYear)、设置日期(setDate)和显示日期(print)等成员 .函数,并利用main函数进行测试。要求将类的说明部分存储在Tdate.h文件中,将类的定义部分存储在Tdate.cpp文件中,将main函数存储在test.cpp文件中。提示与分析:(1)
9、建立Tdate.h头文件,在此文件中录入类的说明代码。(2) 建立Tdate.cpp程序源文件,在此文件中录入类的定义实现代码。(3) 建立test.cpp程序源文件,在此文件中建立main函数,录入测试代码。(4)参考程序 Tdate.h头文件中的程序代码:class Tdateprivate:int Year;int Month;int Day;public:void setDate(int y,int m,int d);bool isLeapYear();void print();Tdate.cpp程序源文件中的程序代码:#include #include Tdate.hvoid Tda
10、te:setDate(int y,int m,int d)Year=y;Month=m;Day=d;bool Tdate:isLeapYear()return (Year%4=0&(Year%100!=0)|Year%400=0);void Tdate:print()coutYear-Month-Dayendl; test.cpp程序源文件中的测试代码:#include#include Tdate.hvoid main()Tdate d;d.set(2000,1,1);d.print();if (d.isLeapYear)coutis Leap Year.endl;elsecoutisnt Leap Year.endl;(4)思考如果去掉test.cpp程序源文件中的#include Tdate.h,程序是否能正常运行?4、设计一个用于人事管理的人员(People)类。包括数据成员:编号(Num)、姓名(Name)、性别(Sex)、出生日期(Birthday)、身份证号(ID)等等。用成员函数实现对人员信息的录入(set)和显示(print)。提示与分析:(1) 定义一个人员(People)类。(2) 声明和定义编号(Num)、姓名(N
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025-2030全球核电用钢管行业调研及趋势分析报告
- 2025年全球及中国钢制垂直推拉门行业头部企业市场占有率及排名调研报告
- 2025-2030全球微孔织物行业调研及趋势分析报告
- 2025-2030全球半导体电镀前处理剂行业调研及趋势分析报告
- 2025-2030全球热水箱行业调研及趋势分析报告
- 2025年全球及中国手机支付安全行业头部企业市场占有率及排名调研报告
- 2025年全球及中国超高压HPP灭菌设备行业头部企业市场占有率及排名调研报告
- 液氨运输合同模板
- 2025员工入股合同(美容美发)
- 外墙保温劳务分包合同
- Unit6AtthesnackbarStorytimeDiningwithdragons(课件)译林版英语四年级上册
- 2023年四川省公务员录用考试《行测》真题卷及答案解析
- 机电一体化系统设计-第5章-特性分析
- 2025年高考物理复习压轴题:电磁感应综合问题(原卷版)
- 雨棚钢结构施工组织设计正式版
- 医院重点监控药品管理制度
- 2024尼尔森IQ中国本土快消企业调研报告
- 2024年印度辣椒行业状况及未来发展趋势报告
- 骨科医院感染控制操作流程
- 铸铝焊接工艺
- 《社区康复》课件-第六章 骨关节疾病、损伤患者的社区康复实践
评论
0/150
提交评论