|
Курсовая работа по дисциплине Объектноориентированное программирование Наименование задачи
Алгоритм метода представлен в таблице 1.
Таблица 1. Алгоритм метода setCurrent класса BaseClass
№
| Предикат
| Действия
| № перехода
| Комментарий
| 1
|
| this->current = current
| ∅
|
| Класс объекта: BaseClass Модификатор доступа: public Метод: getCurrent Функционал: Возвращает указатель на текущий объект Параметры: отсутствуют Возвращаемое значение: указатель на объект класса BaseClass Алгоритм метода представлен в таблице 2.
Таблица 2. Алгоритм метода getCurrent класса BaseClass
№
| Предикат
| Действия
| № перехода
| Комментарий
| 1
|
| Вернуть current
| ∅
|
| Класс объекта: BaseClass Модификатор доступа: public Метод: getByWay Функционал: Находит и возвращает объект по его координатам Параметры: string way, координаты объекта Возвращаемое значение: указатель на объект класса BaseClass Алгоритм метода представлен в таблице 3. Таблица 3. Алгоритм метода getByWay класса BaseClass
№
| Предикат
| Действия
| № перехода
| Комментарий
| 1
|
| Объявление переменной name, slash
| 2
|
|
2
| way == "/"
| Вернуть указатель на текущий объект
| ∅
|
|
|
| 3
|
|
3
| way[0] == '/' &&
way[1] == '/'
| name = way.substr(2)
| 4
|
|
|
| 5
|
|
4
|
| Вернуть результат выполнения метода findName(name)
|
∅
|
| 5
| way == "."
| Вернуть current
| ∅
|
|
|
| 6
|
| 6
|
| slash = way.find('/', 1)
| 7
|
| 7
| way[0] == '/'
|
| 8
|
|
|
| 14
|
|
8
| slash != -1
| name = way.substr(1, slash
- 1);
| 9
|
|
|
| 11
|
|
9
| BaseClass * obj : subobj
|
| 10
|
|
|
| 11
|
|
10
| obj->getObj() == name
| Вернуть obj-
>getByWay(way.substr(sla sh))
|
∅
|
|
|
| 9
|
| 11
|
| name = way.substr(1)
| 12
|
|
12
| BaseClass * obj : subobj
|
| 13
|
|
|
| 14
|
|
13
| obj->getObj() == name
| Вернуть obj
| ∅
|
|
|
| 12
|
|
14
| way[0] != '/' &&
way.find('/') != -1
| Вернуть current-
>getByWay('/' + way)
| ∅
|
|
| Вернуть nullptr
| ∅
|
| |
|
|