Ciao a tutti.
Sto facendo un programma in c++ che mi permette di costruire un albero binario di ricerca e di effettuare le operazioni base più importati(add, remove, search ecc...).
Ho costruito 2 classi (node e albero).
Il problema sorge con i distruttori di queste due classi.
Nonostanze li abbia implementati, non funzionano in quanto rimane della memoria allocata nello heap.
Il distruttore di nodo è :
~nodo(){
delete right;
delete left;
delete parent;
}
Il distruttore di albero è:
~albero(){
delete root->left;
delete root->right;
delete root->parent;
}
Come posso correggere i miei errori in modo da avere tutta la memoria dinamica libera?
Grazie in anticipo per l'aiuto!