diff options
Add files via upload
1 files changed, 27 insertions, 0 deletions
| -rw-r--r-- | Polymorphism/Shape.h | 27 |
diff --git a/Polymorphism/Shape.h b/Polymorphism/Shape.h new file mode 100644 index 0000000..fbce027 --- /dev/null +++ b/Polymorphism/Shape.h @@ -0,0 +1,27 @@ +#pragma once
+
+#include "Point.h"
+
+class Shape
+{
+ Point* points;
+ int pointsCount;
+
+ void CopyFrom(const Shape& other);
+ void Free();
+
+public:
+ Shape(int pointsCount);
+ Shape(const Shape& other);
+ Shape& operator=(const Shape& other);
+ virtual ~Shape();
+
+ void setPoint(int x, int y, int ind);
+ const Point& getPoint(int ind);
+
+ virtual double getPer() =0;
+ virtual double getArea() = 0;
+
+ virtual Shape* clone() = 0;
+
+};
\ No newline at end of file |
