程序运行的结果和预计的不一样,涉及到类的组合//设计并测试一个名为Rectangle的矩形类,其属性为矩形的左下角与右上角的两个点的坐标//并算出矩形的面积#includeusing namespace std;class Point//定义Point类{public:Point(int xx=0,int yy=0)//构造函数{x=xx;y=yy;}Point(Point &p)//复制构造函数{x=p.x;y=p.y;}int ge
2019-06-27
程序运行的结果和预计的不一样,涉及到类的组合
//设计并测试一个名为Rectangle的矩形类,其属性为矩形的左下角与右上角的两个点的坐标
//并算出矩形的面积
#include
using namespace std;
class Point//定义Point类
{
public:
Point(int xx=0,int yy=0)//构造函数
{
x=xx;
y=yy;
}
Point(Point &p)//复制构造函数
{
x=p.x;
y=p.y;
}
int getX()
{
return x;
}
int getY()
{
return y;
}
//~Point();
private:
int x;
int y;
};
class Rectangle//定义矩形类
{
public:
Rectangle(Point xp1,Point xp2);//构造函数
Rectangle(Rectangle &r);//复制构造函数
int getArea()
{
return area;
}
//~Rectangle();
private:
Point p1;//内嵌
Point p2;
int area;
};
Rectangle::Rectangle(Point xp1,Point xp2):p1(xp1),p2(xp2)//类的组合的构造函数
{
int x1=(p1.getX()-p2.getX());
int y1=(p1.getY()-p2.getY());
area=x1*y1;
}
Rectangle::Rectangle(Rectangle &r):p1(r.p1),p2(r.p2)//类的组合的复制构造函数
{
area=r.area;
}
int main()
{
Point myp1(2,1),myp2(4,5);//定义的两个Point对象
Rectangle rectangle(myp1,myp2);//定义的Rectangle的对象
cout