Website Summary Files Commits Branches @commit @diff @stats
path: root / Polymorphism / Shapes / Rectangle.cpp
blob: b684c50fdb2555c85afd6e254e7396fa8b5df0ec (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#include "Rectangle.h"


Rectangle::Rectangle(int x1, int y1, int x3, int y3) : Shape(4)
{
	setPoint(x1, y1, 0);
	setPoint(x3, y3, 2);
	setPoint(x1, y3, 1);
	setPoint(x3, y1, 3);
}

double Rectangle::getPer()
{
	return 2 * (getPoint(0).getDist(getPoint(1)) + getPoint(1).getDist(getPoint(2)) );
}
double Rectangle::getArea()
{
	return getPoint(0).getDist(getPoint(1)) * getPoint(1).getDist(getPoint(2));
}
Shape* Rectangle::clone()
{
	Rectangle* newRect = new Rectangle(*this);
	return newRect;
}