class point{ public: double x,y; point(double _x,double _y): x(_x), y(_y) {}; point(): x(0.0), y(0.0) {}; } class poly{ public: poly(); // создание пустого полигона poly(const poly&); // конструктор копирования poly(unsigned int num); // создание полигона с заданным кол-ком вершин ~poly(); unsigned int size() const; private: point * verts; // массив указателей на точки unsigned int numverts; // количество вершин }; poly::poly(unsigned int num){ verts = new point[num]; numverts = num; } poly::poly(){ verts = NULL; numverts = 0; } poly::poly(const poly& p){ // конструктор копирования numverts = p.size(); // копируем размер verts = new point [numverts]; // выделяем память для массива for(unsigned int i=0;i