// // Created by Marcus Vinícius de Carvalho // #ifndef POLYGON_H #define POLYGON_H #include using namespace std; enum KindOfPolygon {POLY_PLAIN, POLY_RECT, POLY_TRIANGLE}; inline string StringKindofPolygon[] = {"POLY_PLAIN", "POLY_RECT", "POLY_TRIANGLE"}; class Polygon { protected: string name; float width; float height; KindOfPolygon polytype; public: virtual ~Polygon() = default; Polygon(string name, float width, float height); [[nodiscard]] KindOfPolygon getPolytype() const; void setPolytype(KindOfPolygon polytype); string getName(); virtual float calculateArea(); void printWidthHeight() const; }; #endif //POLYGON_H