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/Collection/ShapesCollection.h | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 Sem. 14/Collection/ShapesCollection.h (limited to 'Sem. 14/Collection/ShapesCollection.h') diff --git a/Sem. 14/Collection/ShapesCollection.h b/Sem. 14/Collection/ShapesCollection.h new file mode 100644 index 0000000..0a9638d --- /dev/null +++ b/Sem. 14/Collection/ShapesCollection.h @@ -0,0 +1,33 @@ +#include "../Shapes/Circle.h" +#include "../Shapes/Rectangle.h" +#include "../Shapes/Triangle.h" +#include "../Shapes/Rhombus.h" +#include "../Shapes/Square.h" +#include + +class ShapesCollection +{ + std::vector collection; + + void free(); + void copyFrom(const ShapesCollection& other); + +public: + + //factory + + void addCircle(double x, double y, double radius); + void addRectangle(double x1, double y1, double x3, double y3); + void addTriangle(double x1, double y1, double x2, double y2, double x3, double y3); + void addRhombus(double x1, double y1, double x2, double y2); + void addSquare(double x1, double y2, double sideLength); + + void printAreas(); + void printPers(); + + ShapesCollection() = default; + ShapesCollection(const ShapesCollection& other); + ShapesCollection& operator=(const ShapesCollection& other); + + ~ShapesCollection(); +}; \ No newline at end of file -- cgit v1.3.1-23-gd82d