Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Lab_3_отчёт.doc
Скачиваний:
3
Добавлен:
29.08.2019
Размер:
649.22 Кб
Скачать
    1. Требования к программной документации

Разрабатываемые программные модули должны быть самодокументированы, т.е. тексты программ должны содержать все необходимые комментарии.

Программная система должна включать справочную информацию о работе и подсказки пользователю.

2 Иерархия классов в виде графа

Рисунок 1 – Иерархия классов в виде графа

3 Иерархия объектов

Рисунок 2 – Иерархия объектов

4 Определение классов (добавленных или измененных по сравнению с лабораторной работой № 2)

class TObject

{

protected:

char* _name;

public:

TObject();

TObject(char* name);

virtual ~TObject();

char* GetName();

void SetName(char* name);

virtual void Show() = 0;

};

class TDepartment : public TObject

{

protected:

TPerson* _head;

TItem* _listHead;

public:

TDepartment();

TDepartment(char* name, TPerson* head);

virtual ~TDepartment(void);

TPerson* GetHead();

void SetHead(TPerson* person);

void PushBack(TObject* obj);

void ForEach(PF action, int minExp);

virtual void Show() = 0;

};

class Branch :

public TDepartment

{

public:

void Show();

Branch(void);

Branch(char* name, TPerson* head);

~Branch(void);

};

class Factory :

public TDepartment

{

public:

Factory(void);

Factory(char* name, TPerson* head);

~Factory(void);

void Show();

};

class WorkShop :

public TDepartment

{

public:

WorkShop(char* name, TPerson* head);

WorkShop(void);

~WorkShop(void);

void Show();

};

class TPerson : public TObject

{

public:

TPerson(void); // Конструктор по умолчанию

TPerson(char* name, int age); // Конструктор с параметрами

virtual ~TPerson(void); // Виртуальный деструктор

virtual void Show() = 0; // Чисто виртуальная функция - Отображение информации объекта о себе

protected: // Следующие элементы доступны только данному классу и его потомкам

int _age; // Поле для возраста

};

class Employee : public TPerson // Класс Employee - потомок класса Person

{

public:

Employee(void); // Конструктор по умолчанию

Employee(Employee& emp);

Employee(char* name, int age, int workExp); // Конструктор с параметрами

~Employee(void); //Деструктор

int GetWorkExp();

void Show(); // Метод для отображения объекта, переопределяет метод Show класса Person

protected:

int _workExpirience; // Поле для рабочего стажа

};

class Worker : public TPerson // Класс Worker - потомок класса Person

{

public:

Worker(void); // Конструктор по умолчанию

Worker(Worker& wk);

Worker(char* name, int age, int workExpirience); // Конструктор с параметрами

~Worker(void); // Деструктор

int GetWorkExp();

virtual void Show(); // Виртуальный метод, переопределяет метод Show класса Person

protected:

int _workExpirience; // Поле для рабочего стажа

};

class Engineer : public Worker // Класс Engineer - потомок класса Worker

{

public:

Engineer(void); // Конструктор по умолчанию

Engineer(Engineer& eng);

Engineer(char* name, int age, int workExp); // Конструктор с параметрами

void Show(); // Метод для отображения объекта, переопределяет метод Show класса Worker

~Engineer(void); // Деструктор

};

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]