- •1 ПОСТАНОВКА ЗАДАЧИ
- •1.1 Описание входных данных
- •1.2 Описание выходных данных
- •2 МЕТОД РЕШЕНИЯ
- •3 ОПИСАНИЕ АЛГОРИТМОВ
- •3.1 Алгоритм конструктора класса cl_base
- •3.2 Алгоритм деструктора класса cl_base
- •3.3 Алгоритм метода setName класса cl_base
- •3.4 Алгоритм метода get_name класса cl_base
- •3.5 Алгоритм метода get_parent класса cl_base
- •3.6 Алгоритм метода get_child_by_name класса cl_base
- •3.7 Алгоритм метода print_names класса cl_base
- •3.8 Алгоритм конструктора класса application
- •3.9 Алгоритм метода build_tree_objects класса application
- •3.10 Алгоритм метода exec_app класса application
- •3.11 Алгоритм конструктора класса cl_node
- •3.12 Алгоритм функции main
- •4 БЛОК-СХЕМЫ АЛГОРИТМОВ
- •5 КОД ПРОГРАММЫ
- •5.1 Файл application.cpp
- •5.2 Файл application.h
- •5.3 Файл cl_base.cpp
- •5.4 Файл cl_base.h
- •5.5 Файл cl_node.cpp
- •5.6 Файл cl_node.h
- •5.7 Файл main.cpp
- •6 ТЕСТИРОВАНИЕ
- •СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ
2 МЕТОД РЕШЕНИЯ
Для решения задачи используется:
объект ob_application класса application предназначен для передача в него параметра пустого указателя;
функция new для создание объекта;
функция delete для уничтожение объекта;
объекты потока ввода.вывода cin,cout;
объеккты элемента дерева класса cl_node,количество которых определяется вводом пользователя.
Класс cl_base:
свойства/поля:
oполе отвечающее за наименование объекта:
наименование — name;
тип — string;
модификатор доступа — private;
oполе отвечающее за доступ к головному объекту текущего объекта:
наименование — parent;
тип — указатель на объект класса cl_base;
модификатор доступа — private;
oполе отвечающее за доступ к подчиненным объектам текущего объекта:
наименование — children;
тип — vector;
модификатор доступа — private;
функционал:
oметод cl_base — параметризированный конструктор с параметрами
10
указателя на головной объект в дереве иерархии и наименование объекта принимающим значение по умолчанию;
o метод ~cl_base — деструктор используется для освобождение памяти выделенной для иерархии объектов;
o метод setName — метод используется для установки имении объекта;
o метод get_name — метод используется для получения имении текущего объекта;
oметод get_parent — метод используется для получения указателя на головной объект текущего объекта;
oметод get_child_by_name — метод используется для получения указателя на объект из дерева иерархии объектов;
oметод print_names — метод вывода наименование объектов в дереве иерархии слева напрвао и сверху вниз.
Класс application:функционал:
o метод application — параметризированный конструктор с параметрами указателя на головной объект в дереве иерархии;
o метод build_tree_objects — метод используется для построения дерева иерархии объектов;
oметод exec_app — метод используется для запуска системы. Класс cl_node:
функционал:
oметод cl_node — параметризированный конструктор с параметром указателя на головной объект в дереве иерархии.
11
Таблица 1 – Иерархия наследования классов |
|
|
||||
|
№ |
Имя класса |
Классы- |
Модификатор |
Описание |
Номер |
|
|
|
наследники |
доступа при |
|
|
|
|
|
|
наследовании |
|
|
|
1 |
cl_base |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
application |
public |
|
2 |
|
|
|
|
|
|
|
|
|
|
cl_node |
public |
|
3 |
|
|
|
|
|
|
|
2 |
application |
|
|
|
|
|
|
|
|
|
|
|
|
3 |
cl_node |
|
|
|
|
|
|
|
|
|
|
|
|
12
