rendered paste body#include "Polygon.h"#include "Point.h"Polygon::Polygon(void){// m_points = new std::list<Point>(); m_id++; id=m_id; std::cout << "constructeur id = " << id << std::endl;}Polygon::Polygon(const std::list<Point> &l){ m_id++; id=m_id; std::cout << "constructeur id = " << id << std::endl;// m_points = new std::list<Point>(); for(std::list<Point>::const_iterator it = l.begin(); it != l.end(); it++) m_points.push_back(*it);}Polygon::~Polygon(void){ std::cout << "destructeur id = " << id << std::endl; id = 75; system("PAUSE");/* while(!m_points.empty()){ delete m_points.front(); m_points.pop_front(); } delete m_points;*/}Polygon& Polygon::operator<<(const Point &p){ m_points.push_back(p); return *this;}Polygon& Polygon::operator<<(std::list<Point> &l){ // std::list<Point>::iterator it; for(std::list<Point>::iterator it = l.begin(); it != l.end(); it++) m_points.push_back(*it); return *this;}std::ostream& operator<<(std::ostream &os, const Polygon &p){ for(std::list<Point>::const_iterator it = p.m_points.begin(); it != p.m_points.end(); it++) std::cout << *it; return os;}Polygon& Polygon::operator=(const Polygon &p){ for(std::list<Point>::const_iterator it = p.m_points.begin(); it != p.m_points.end(); it++) m_points.push_back(*it); return *this;}const Polygon operator-(const Polygon &pol, const Point &p){ Polygon pol2; for(std::list<Point>::const_iterator it = pol.m_points.begin(); it != pol.m_points.end(); it++) pol2 << *it-p; return pol2;}int Polygon::m_id=0;