Website Summary Files Commits Branches @commit @diff @stats
path: root / Polymorphism / Shape.h
diff options
context:
space:
mode:
Commit495fe9ae299e81c213161d992d05cc11a403a1d7 (patch)
Author
 Angel Dimitriev <achi_d@abv.bg>
2020-05-20 03:02:00 +0300
Committer
 GitHub <noreply@github.com>
2020-05-20 03:02:00 +0300
Files8d71f8728ddfcf86d34ec1690b144067a3e43887 /Polymorphism/Shape.h
Object-oriented_programming_FMI-495fe9ae299e81c213161d992d05cc11a403a1d7.tar
Object-oriented_programming_FMI-495fe9ae299e81c213161d992d05cc11a403a1d7.tar.gz
Object-oriented_programming_FMI-495fe9ae299e81c213161d992d05cc11a403a1d7.zip
Parentb7a69d6934a940bcdd8a61df3e6d1df439dc1b0a (diff)
Add files via upload
1 files changed, 27 insertions, 0 deletions
-rw-r--r--Polymorphism/Shape.h27
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