Розробка класу обробки геометричних фігур та їх даних за допомогою динамічних масивів даних стандартної бібліотеки шаблонів STL – послідовні контейнери deque
27

friend ostream &operator<<( ostream &output, Figure &f );

friend string &operator>>( string &line, Figure &f );

};

 

class Circle : public Figure {

public:

Circle();

Circle(float xCenter, float yCenter, float angle, float scaleFactor);

void show() override;

void hide() override;

void unHide() override;

void rotateBy(float angle) override;

void moveBy(float x, float y) override;

void input() override;

};

 

class Elipse : public Figure {

public:

Elipse();

Elipse(float xCenter, float yCenter, float angle, float scaleFactor);

void show() override;

void hide() override;

void unHide() override;

void rotateBy(float angle) override;

void moveBy(float x, float y) override;

void input() override;

};

 

class Programm {

 

private:

typedef deque<Figure*> MyCollection;

MyCollection* collection;

 

public:

void init();

void run();

void done();

 

void createCircle();

void createEllipse();

void showAllElements();

void showAllElements(deque<Figure*> *elements);

void deleteAllElements();

 

Figure* createCircleManually();

Figure* createEllipseManually();

 

int writeFigures(deque <Figure*> &figures);

int readFigures(deque <Figure*> &figures);

void save();

void load();

void sort();

void find();

void requestsMenu();

};

 

AdditionalSource.cpp:

 

#include "Header.h"