J'ai la classe suivante:C++ paramètre noeud père dans un arbre
class Node
{
private:
Node* leftChild;
Node* rightChild;
Node* father;
public:
Node() { leftChild = rightChild = father = NULL; };
Node* getLeftChild() { return leftChild; };
Node* getRightChild() { return rightChild; };
Node* getFather() { return father; }
void setRightChild(Node* child) { rightChild = child; }
void setLeftChild(Node* child) { leftChild = child; };
void setFather(Node* f) { father = f; };
};
Je mettrais également le noeud père lors de la mise à l'enfant gauche et l'enfant droit. J'essaie:
void setLeftChild(Node* child)
{
leftChild = child;
child->setFather(this);
};
Node* node = new Node();
Node* node2 = new Node();
node->setLeftChild(node2);
et en raison de la mauvaise utilisation de cela, je reçois une erreur aléatoire. Comment dois-je définir la fonction setLeftChild()
et setRightChild()
? Merci.
Pourquoi pas un nœud mère? C'est sexiste. C'est pourquoi nous l'appelons parent. * déclenché * – arminb
S'il vous plaît donner des détails de l'erreur – noelicus
vous pourriez le trouver ** beaucoup ** plus facile à utiliser un conteneur standard tel que ['std :: deque <>'] (http://en.cppreference.com/ w/cpp/container/deque) –