34 lines
690 B
C++
34 lines
690 B
C++
//
|
|
// Created by Marcus Vinícius de Carvalho
|
|
//
|
|
|
|
#ifndef POLYGON_H
|
|
#define POLYGON_H
|
|
|
|
#include <string>
|
|
|
|
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
|