diff options
1 files changed, 0 insertions, 52 deletions
| -rw-r--r-- | Sem. 14/Shapes/Shape.cpp | 52 |
diff --git a/Sem. 14/Shapes/Shape.cpp b/Sem. 14/Shapes/Shape.cpp deleted file mode 100644 index 7bc24ef..0000000 --- a/Sem. 14/Shapes/Shape.cpp +++ /dev/null @@ -1,52 +0,0 @@ -#include "Shape.h" - -Shape::Shape(size_t pointsCount) : pointsCount(pointsCount) -{ - points = new point[pointsCount]; // [0,0], [0,0].... -} - -void Shape::copyFrom(const Shape& other) -{ - points = new point[other.pointsCount]; - - for (int i = 0; i < other.pointsCount; i++) - points[i] = other.points[i]; -} -void Shape::free() -{ - delete[] points; -} - -Shape::Shape(const Shape& other) -{ - copyFrom(other); -} -Shape& Shape::operator= (const Shape& other) -{ - if (this != &other) - { - free(); - copyFrom(other); - } - return *this; -} -Shape::~Shape() -{ - free(); -} - -const Shape::point& Shape::getPointAtIndex(size_t index) const -{ - if (index >= pointsCount) - throw std::exception("Invalid point index!"); - - return points[index]; -} - -void Shape::setPoint(size_t pointIndex, double x, double y) -{ - if (pointIndex >= pointsCount) - throw std::exception("Invalid point index!"); - - points[pointIndex] = point(x, y); -} |
