Как лучше организовать класс и его объекты? Писал раньше на С.
Теперь пишу на С++, матчасть знаю, но возник вопрос именно об организации структуры класса.
Допустим, есть данные, которые в конечном итоге будут использоваться как бинарное дерево (или список, что не так важно) для дальнейшего добавления/изменения/обработки этих данных.
Теперь суть :
как наиболее естественно организовать в данном случае класс?
1) каждый узел дерева - объект искомого класса
2) объект класса один и он содержит указатель на вершину дерева

21 Авг 2019 в 07:08
189 +1
0
Ответы
1

Оба подхода могут быть использованы в зависимости от конкретного случая.

1) Если каждый узел дерева - объект искомого класса, то у вас будет класс узла (например, Node) со всей необходимой функциональностью для добавления/удаления/обработки данных. Каждый объект этого класса будет представлять узел дерева.

Пример:

class Node {
public:
int data;
Node* left;
Node* right;
Node(int value) : data(value), left(nullptr), right(nullptr) {}
};

2) Если объект класса один и он содержит указатель на вершину дерева, то вам нужно будет реализовать класс, который будет содержать в себе методы для работы с деревом (например, BinaryTree). В данном случае объект данного класса будет представлять всё дерево в целом.

Пример:

class BinaryTree {
private:
Node* root;
public:
BinaryTree() : root(nullptr) {}
// методы для добавления/удаления/обработки данных в дереве
};

Таким образом, выбор организации структуры класса зависит от вашего предпочтения и требований конкретной задачи.

20 Апр в 13:06
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Название заказа не должно быть пустым
Введите email
Бесплатные доработки
Гарантированные бесплатные доработки
Быстрое выполнение
Быстрое выполнение от 2 часов
Проверка работы
Проверка работы на плагиат
Интересные статьи из справочника
Поможем написать учебную работу
Название заказа не должно быть пустым
Введите email
Доверьте свою работу экспертам
Разместите заказ
Наша система отправит ваш заказ на оценку 92 493 авторам
Первые отклики появятся уже в течение 10 минут
Прямой эфир