У меня проблема с моим кодом. Я пытаюсь создать производный класс узлов для деревьев AVL, производный от простого класса узлов.
class Node
{
protected:
int *value;
Node *leftChild;
Node *rightChild;
friend class BST;
};
class NodeAVL : public Node
{
private:
int *balanceFactor;
friend class AVL;
public:
///some code
};
Итак, мне нужно, чтобы оба моих ребенка в NodeAVL принадлежали к классу NodeAVL, и я должен наследовать их от базового класса (это обязательно). Но так как leftChild и rightChild объявлены как Node * в базовом классе, я не могу сделать это напрямую. У меня нет идей, как это исправить, поэтому мне нужна помощь.
Есть идеи?