#ifndef POLYGON_H #define POLYGON_H #include #include #include class Polygon { public: // Only one of the constructors required! Polygon(std::initializer_list l); Polygon(int a, int b); Polygon& operator+=(int rhs); Polygon operator+(int rhs) const; double circumference() const; std::ostream& print(std::ostream& os) const; private: int max_side() const; void validate() const; std::vector sides; }; Polygon operator+(int lhs, Polygon const& rhs); std::ostream& operator<<(std::ostream& os, Polygon const& rhs); #endif