C++ 实验六
2013-12-03 11:24
190 查看
实验六
类与对象(二)
【实验目的】
1、掌握类的构造函数和析构函数的概念和使用方法;
2、掌握对象数组、对象指针的定义和使用方法;
3、掌握new和delete的使用方法;
【实验内容】
1、 设计描述平面坐标上的点CPoint类,该类满足下述要求:
•具有x,y坐标信息;
•具有带默认形参值的构造函数,参数分别用于初始化x和y坐标信息;
•具有获取x、y信息的GetX和GetY函数,具有设置x、y信息的SetX和SetY函
数;
2、 设计一个矩形类CRectangle,该类满足下述要求:
•具有矩形的左下角和右上角两个点的坐标信息,这两个点的数据类型是
CPoint;
•具有带参数的构造函数CRectangle(const CPoint &, const CPoint &),参数分
别用于设置左下角和右上角两个点的坐标信息;
•具有设置左下角和设置右上角的两个点坐标的功能SetLPoint(const CPoint
&)和SetRPoint(const CPoint &);
•具有获得周长(GetPerimeter)和获得面积(GetArea)的功能。
3、 在main函数中,完成以下工作:
•动态创建一个CRectangle类的对象a_rectagnle,其初始的左下角和右上角坐
标分别为(2,5)、(6,8);调用GetPerimeter和GetArea获得矩形周长和面积,
并将周长和面积显示在屏幕上;
•调用SetLPoint设置a_rectagnle的左下角为(4,6),调用SetRPoint设置
a_rectagnle的右上角为(7,9);调用GetPerimeter和GetArea获得矩形周长和面
积,并将周长和面积显示在屏幕上;
•销毁该动态创建的对象。
实验六
类与对象(二)
【实验目的】
1、掌握类的构造函数和析构函数的概念和使用方法;
2、掌握对象数组、对象指针的定义和使用方法;
3、掌握new和delete的使用方法;
【实验内容】
1、 设计描述平面坐标上的点CPoint类,该类满足下述要求:
•具有x,y坐标信息;
•具有带默认形参值的构造函数,参数分别用于初始化x和y坐标信息;
•具有获取x、y信息的GetX和GetY函数,具有设置x、y信息的SetX和SetY函
数;
2、 设计一个矩形类CRectangle,该类满足下述要求:
•具有矩形的左下角和右上角两个点的坐标信息,这两个点的数据类型是
CPoint;
•具有带参数的构造函数CRectangle(const CPoint &, const CPoint &),参数分
别用于设置左下角和右上角两个点的坐标信息;
•具有设置左下角和设置右上角的两个点坐标的功能SetLPoint(const CPoint
&)和SetRPoint(const CPoint &);
•具有获得周长(GetPerimeter)和获得面积(GetArea)的功能。
3、 在main函数中,完成以下工作:
•动态创建一个CRectangle类的对象a_rectagnle,其初始的左下角和右上角坐
标分别为(2,5)、(6,8);调用GetPerimeter和GetArea获得矩形周长和面积,
并将周长和面积显示在屏幕上;
•调用SetLPoint设置a_rectagnle的左下角为(4,6),调用SetRPoint设置
a_rectagnle的右上角为(7,9);调用GetPerimeter和GetArea获得矩形周长和面
积,并将周长和面积显示在屏幕上;
•销毁该动态创建的对象。
#include<iostream> using namespace std; class CPoint{ public: CPoint(double xd=0,double yd=0):x(xd),y(yd){ } double GetX(){ return x; } double GetY(){ return y; } void SetX(double xi){ x=xi; } void SetY(double yi){ y=yi; } private: double x,y; }; class CRectangle { public: CRectangle(const CPoint &a, const CPoint &b) { ldPoint=a; ruPoint=b; } void SetLPoint(const CPoint& l) { ldPoint=l; } void SetRPoint(const CPoint& r) { ruPoint=r; } double GetPerimeter() { return (ruPoint.GetX()-ldPoint.GetX()+ruPoint.GetY()-ldPoint.GetY())*2; } double GetArea() { return (ruPoint.GetX()-ldPoint.GetX())*(ruPoint.GetY()-ldPoint.GetY()); } private: CPoint ldPoint,ruPoint; }; int main(){ CPoint zuo(2,5),you(6,8); CRectangle *rect=new CRectangle(zuo,you); cout<<rect->GetPerimeter()<<endl<<rect->GetArea()<<endl; zuo.SetX(4); zuo.SetY(6); you.SetX(7); you.SetY(9); rect->SetLPoint(zuo); rect->SetRPoint(you); cout<<rect->GetPerimeter()<<endl<<rect->GetArea()<<endl; delete rect; return 0; }
相关文章推荐
- 张清国的C++实验
- C++第6次实验-分离数组
- c++实验3——个人所得税计算器
- c++实验2-正整数类
- [C++]实验十一:通过定义一个循环链表类和Josephus类
- C++第6次上机实验:数组操作
- C++实验最后自我设计
- C++第四次上机实验其他作业
- c++实验6-矩阵求和
- C++实验6—字符串操作
- C++实验6-项目1 数组操作
- 第一章 C++绪论学习要求、实验及思考
- 孙敬哲的c++上机实验2-1
- [置顶] C++实验——自幂数(数学黑洞你怕不怕)
- C++第4次实验——三色球问题
- c++实验6-数组合并
- C++ 实验八
- C++程序设计实验报告(三十六)---第四周任务二
- 第十二周C++实验报告(二)
- 实验三循环队列(c++)