已有点类Point定义,定义一个矩形类,有左下角,右上角两个点,面积,周长属性,面积,周长由左下角,右上角两个点决定;有成员函数有(1)构造函数(2)返回矩形的面积(3)返回周长
(提示:用类组合实现)
#include <iostream>
using namespace std;
class Point
{
public:
Point(int xx=0,int yy=0){X=xx;Y=yy;}//构造函数
Point(Point& p);//拷贝构造函数
int GetX(){return X;}
int GetY(){return Y;}
private:
int X,Y;
};
Point::Point(Point& p)
{X=p.X;
Y=p.Y;
}
class Rectangle
{
public:
Rectangle(Point xp1,Point xp2);
Rectangle(Rectangle &);
float getarea(){return area;}
float getlen(){return len;}
private:
Point p1,p2;
float area,len;
};
Rectangle::Rectangle(Point xp1,Point xp2):p1(xp1),p2(xp2)
{
float h=p2.GetY()-p1.GetY();
float w=p2.GetX()-p1.GetX();
area=h*w;
len=2*(h+w);
}
Rectangle::Rectangle(Rectangle &Rect):p1(Rect.p1),p2(Rect.p2)
{
area=Rect.area;
len=Rect.len;
}
void main()
{
int x,y;
cout<<"请输入矩形的左下角点坐标p1的x y坐标:";
cin>>x>>y;
Point myp1(x,y);
cout<<"请输入矩形的左下角点坐标p2的x y坐标:";
cin>>x>>y;
Point myp2(x,y);
Rectangle Rect1(myp1,myp2);
Rectangle Rect2(Rect1);
cout<<"第一个矩形的面积为: "<<Rect1.getarea()<<" 周长为: "<<Rect1.getlen()<<endl;
cout<<"第二个矩形的面积为: "<<Rect2.getarea()<<" 周长为: "<<Rect2.getlen()<<endl;
}