Destruktoren



  • Hallo!

    Kennt jemand ein schönes Tutorial zu Destruktoren?

    Also eigentlich möchte ich nur Objekte einer Klasse Knoten (für einen Baum) sauber löschen.
    So ein Knoten enthält ein paar direkte Attribute (int etc) sowie einen Zeiger auf ein Objekt einer anderen Klasse Feld, welche wiederum direkte Attribute und ein char array enthält.

    Wenn ich jetzt schreibe:

    Feld::~Feld() {
    	delete[](this->array);
    }
    

    und

    Node::~Node() {
    	delete(this->feld);
    }
    

    löscht der dann bereits alles sauber?

    Dankesehr.



  • ghunna schrieb:

    Kennt jemand ein schönes Tutorial zu Destruktoren?

    Schau mal bei Google...

    Für die anderen Fragen wäre es noch nett, wenn du uns zeigen würdest, wie die Variablen deklariert sind. Aber grundsätzlich löscht man (statische) Arrays nicht, da sie im automatischen Speicherbereich (Stack) angefordert werden und entsprechend beim Verlassen des Scopes bzw. bei der Zerstörung der Instanz freigegeben werden. delete brauchst du für Speicherbereiche, die du mit new angefordert hast, und delete[] für diejenigen mit new[] .


Anmelden zum Antworten