diff options
1 files changed, 0 insertions, 43 deletions
| -rw-r--r-- | Sem. 14/ShapesCollection/Shape.h | 43 |
diff --git a/Sem. 14/ShapesCollection/Shape.h b/Sem. 14/ShapesCollection/Shape.h deleted file mode 100644 index caf7919..0000000 --- a/Sem. 14/ShapesCollection/Shape.h +++ /dev/null @@ -1,43 +0,0 @@ -#pragma once -#include <iostream> - -class Shape // Abstract class - no instances of Shape are allowed! -{ -protected: - struct point - { - point() :x(0), y(0){} - point(double x, double y) :x(x), y(y){} - double x; - double y; - double getDist(const point& other) const - { - int dx = x - other.x; - int dy = y - other.y; - - return sqrt(dx*dx + dy*dy); - } - }; - const point& getPointAtIndex(size_t index) const; -private: - point* points; - size_t pointsCount; - - void copyFrom(const Shape& other); - void free(); - - -public: - Shape(size_t pointsCount); - - Shape(const Shape& other); - Shape& operator=(const Shape& other); - virtual ~Shape(); //!!!!!! - - void setPoint(size_t pointIndex, double x, double y); - - virtual double getArea() const = 0; //pure virtual - virtual double getPer() const = 0; // pure virtual - - virtual Shape* clone() const = 0; // -};
\ No newline at end of file |
