From cbe098fdaf6509b6a3c8bd33b3064d8f620dd58c Mon Sep 17 00:00:00 2001 From: angeld55 Date: Fri, 28 May 2021 16:45:24 +0300 Subject: sem 14 --- Sem. 14/Shapes/Rectangle.cpp | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 Sem. 14/Shapes/Rectangle.cpp (limited to 'Sem. 14/Shapes/Rectangle.cpp') diff --git a/Sem. 14/Shapes/Rectangle.cpp b/Sem. 14/Shapes/Rectangle.cpp new file mode 100644 index 0000000..9e16b01 --- /dev/null +++ b/Sem. 14/Shapes/Rectangle.cpp @@ -0,0 +1,32 @@ +#include "Rectangle.h" + +Rectangle::Rectangle(double x1, double y1, double x3, double y3) : Shape(4) +{ + setPoint(0, x1, y1); + setPoint(1, x1, y3); + setPoint(2, x3, y3); + setPoint(3, x3, y1); +} +double Rectangle::getArea() const +{ + Shape::point p0 = getPointAtIndex(0); + Shape::point p1 = getPointAtIndex(1); + Shape::point p3 = getPointAtIndex(3); + + return p0.getDist(p1) * p0.getDist(p3); + +} +double Rectangle::getPer() const +{ + Shape::point p0 = getPointAtIndex(0); + Shape::point p1 = getPointAtIndex(1); + Shape::point p3 = getPointAtIndex(3); + + return 2*(p0.getDist(p1) + p0.getDist(p3)); +} + +Shape* Rectangle::clone() const +{ + Rectangle* copy = new Rectangle(*this); + return copy; +} \ No newline at end of file -- cgit v1.3.1-23-gd82d