#include "iostream.h" class TFigure { public: TFigure(const char *s = ""): name(s) { cout << name << " created ..." << endl; } //Перемещение фигуры virtual void move_it(int step_x,int step_y); //текущая позиция virtual void show_position(); struct TPoint { TPoint(int px = 0, int py = 0): x(px), y(py) { } int x, y; }; virtual double getS() const = 0; private: const char *name;// Название фигуры }; // Определяем класс - наследник от TFigure class TTriangle: public TFigure { private: TPoint *pts; public: //конструктор TTriangle(int numPoints=3):TFigure("triangle") { pts = new TPoint[3]; //создаём массив for(int i=0;i'; } int main() { TTriangle T1; T1.show_position;//смотрим позицию cout << T1.getS() << endl;//печатем площадь T1.move_it(2,2);.//перемещаем T1.show_position;//смотрим позицию cout << T1.getS << endl;//проверяем площадь TPentagon T2; T2.show_position;//смотрим позицию cout << T2.getS << endl;//печаетаем площадь T2.move_it(2,2);.//перемещаем T2.show_position;//смотрим позицию cout << T2.getS << endl;//проверяем площадь cout << Compare(T1, T2) << endl; cout << Compare(T2, T1) << endl;//результаты должны быть разными return 0; }