|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
09.05.2016, 23:25 | #1 |
Регистрация: 22.06.2014
Сообщений: 6
|
Бинарные деревья поиска(Delphi)
Всем доброго времени суток! Нужна помощь в следующем вопросе)
Передо мной встала задача реализовать программу для работы с деревьями поиска. Все необходимые методы класса описал и проверил, однако есть проблема с деструктором. При завершении программы вызываю его, после чего получаю ошибку(во вложении). Описание типа дерева и класса: Код:
Код:
|
10.05.2016, 00:39 | #2 |
мальчик-помогай =)
Форумчанин
Регистрация: 16.09.2010
Сообщений: 522
|
ООП так не работает.
Если ты объявил класс дерева, то пусть он и работает с деревом ибо это его собственность.... не передавай внешнее, чужое, дерево в методы, а используй своё, которым владеет объект описанного тобой класса (судя по всему, поле First) ООП призвано снизить сложность.... снизилась ли она? - Нет, ведь раньше (ну, если класс убрать) ты писал Output(root), а теперь пишешь obj.Output(root) т.е. должен теперь помнить и про root и про obj..... если же делать правильно, то на данном этапе мы должны получить obj.Output() т. е., как минимум, не усложнять эту часть в случае же Add мы уже получаем obj.Add(value), что тоже не сложнее, чем без классов ошибка же возникает т. к. ты считаешь деструктор обычным методом и вызываешь его рекурсивно.... фактически, ты пытаешься много раз уничтожить объект... сделай обычный метод freeNode, который и будет уничтожать дерево, а в деструкторе уже вызывай его (опять же, это тоже не ООП... там иные механизмы есть, но хотя бы так сделай) |
10.05.2016, 14:59 | #3 |
Регистрация: 22.06.2014
Сообщений: 6
|
Спасибо, исправил ошибку. Действительно, несколько раз пытался уничтожить объект
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Бинарные деревья поиска(Паскаль) | shadezx | Помощь студентам | 2 | 25.11.2014 19:58 |
Бинарные деревья поиска | nyzam7 | Общие вопросы Delphi | 0 | 13.05.2012 01:55 |
бинарные деревья поиска | DmuS | Помощь студентам | 0 | 27.05.2010 14:33 |
Бинарные деревья в Delphi | Ира08 | Помощь студентам | 3 | 04.04.2009 17:20 |