#pragma once #include #include class Point; class Polygon { private: static int m_id; int id; std::list m_points; public: Polygon(void); Polygon(const std::list &l); virtual ~Polygon(void); Polygon& operator<<(const Point &p); Polygon& operator<<(std::list &l); friend const Polygon operator-(const Polygon &pol, const Point &p); Polygon& operator=(const Polygon &p); friend std::ostream& operator<<(std::ostream &os, const Polygon &p); };