我的代码有问题。我正在尝试为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 *,所以我不能直接这样做。对于如何解决此问题,我没有任何想法,因此我需要一些帮助。
有什么想法吗?