Mám binární strom z této třídy:
class MorseNode
{
public:
MorseNode(char, MorseNode *,MorseNode *);
~MorseNode();
private:
char znak;
MorseNode* tecka;
MorseNode* carka;
};
MorseNode::MorseNode(char znak,MorseNode *a,MorseNode *b)
{
this->znak=znak;
this->tecka=a;
this->carka=b;
}
MorseNode::~MorseNode()
{
if (this->tecka!=NULL)
{
cout << this->tecka->znak << endl;
this->tecka->~MorseNode();
}
delete this->tecka;
this->tecka=NULL;
if (this->carka!=NULL)
{
cout << this->carka->znak << endl;
this->carka->~MorseNode();
}
delete this->carka;
this->carka=NULL;
}
Chtěl jsem se zeptat, zda by mi někdo nezkontroloval, zda mám destruktor správně a zda opravdu všechny uzly smaže, když bude volán na kořen stromu? Děkuji za odpovědi.