Форум программистов, компьютерный форум CyberForum.ru

Реализация бинарного дерева классом - C++

Восстановить пароль Регистрация
 
wondered
0 / 0 / 0
Регистрация: 25.09.2013
Сообщений: 26
08.10.2013, 22:20     Реализация бинарного дерева классом #1
Добрый вечер. Написал класс
C++
1
2
3
4
5
6
7
8
class TreeClass {
    int number;
    TreeClass *left, *right;    
public:
    void AddNode(int, TreeClass);
    void Print(TreeClass,int,char);
    void Del(TreeClass);
} Tree;
Соответственно имеется 3 функции. Все функции приводить не буду, т.к. не в этом суть проблемы. Приведу одну:
C++
1
2
3
4
5
6
7
void TreeClass::Del(TreeClass *&Tree) {
    if (Tree != NULL) {
        Del(Tree->left);
        Del(Tree->right);
        delete Tree;
    } 
}
В main оперирую с этими функциями, то есть отображения, добавление узла и удаление. В самом начале main пишу строку(надо ли вообще это писать?)
C++
1
*Tree=NULL;
Компилятор выдает ошибку
error C2511: 'void TreeClass:el(TreeClass *&)' : overloaded member function not found in 'TreeClass'
Тоже самое и для остальных функций AddNode, Print. Можете пояснить что не так?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.10.2013, 22:20     Реализация бинарного дерева классом
Посмотрите здесь:

Построение бинарного дерева C++
Копирование бинарного дерева C++
C++ Построение бинарного дерева на основе не бинарного
C++ Вывод бинарного дерева
C++ Обход бинарного дерева
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Fyret
184 / 170 / 13
Регистрация: 30.07.2013
Сообщений: 359
08.10.2013, 22:37     Реализация бинарного дерева классом #2
Неужели не заметно, что сигнатуры функций-членов в объявлении класса и в реализации разные?
А это
C++
1
*Tree=NULL;
отдельный бред.
wondered
0 / 0 / 0
Регистрация: 25.09.2013
Сообщений: 26
09.10.2013, 08:12  [ТС]     Реализация бинарного дерева классом #3
Да, и правда, явная ошибка, извиняюсь что туплю. Но теперь другая ошибка
Код
error C2664: 'TreeClass::Del' : cannot convert parameter 1 from 'TreeClass' to 'TreeClass *&'
И так для остальных функций. Значение ошибки я знаю, но тем не менее я не знаю как передать указатель на дерево. Передаю так:
Код
Tree.Del(Tree)
Fyret
184 / 170 / 13
Регистрация: 30.07.2013
Сообщений: 359
09.10.2013, 11:15     Реализация бинарного дерева классом #4
Ну передавайте так:
C++
1
Tree.Del(&Tree);
Вообще у меня ощущение, что Вы не знаете синтаксиса языка. Почитайте учебник какой-нибудь.
wondered
0 / 0 / 0
Регистрация: 25.09.2013
Сообщений: 26
10.10.2013, 20:36  [ТС]     Реализация бинарного дерева классом #5
Плюсы учу 2 недели, так что не знаю я многого, но синтаксис понимаю. Мне не очень понятно практическое применение указателя на указатель и зачем они используются для реализации деревьев. В интернете много уроков по бинарным деревьям, но нигде не рассказывают для чего нужен двойной указатель. И я не совсем понимаю как работать с деревом через класс, точнее как мне работать с указателями дерева в классе.
Yandex
Объявления
10.10.2013, 20:36     Реализация бинарного дерева классом
Ответ Создать тему
Опции темы

Текущее время: 04:18. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru