Frage zum Destruktor

Leyja

Mitglied
Hallo,

ich habe mal eine Frage zum Destruktor, da mir das noch nicht so ganz klar ist (hab schon gegoogelt, aber irgendwie nichts passendes gefunden).

Ich habe zwei Klassen, eine definiert ein Team, eine weitere definiert die Teammitglieder.
Nun hat das Team-Objekt einen Vector, in dem ich vorher angelegte Objekte der Teammitglieder abspeichere.
Jetzt meine Frage: Wenn ich jetzt den Destruktor für das Team-Objekt aufrufe, löscht der dann auch automatisch die Teammitglieder-Objekte, oder müssen für solche Objekte nochmal extra deren Destruktoren aufgerufen werden?

Hoffe, mir kann jemand die Frage beantworten :-)
Grüße, Leyja
 
Am besten rufst du den garnicht selber auf, aber ja es wird der Destruktor der Member aufgerufen (in dem Fall der von std::vector, der sich um den Rest kümmert).
 
Hallo,

es kommt drauf an wie du deine Teammitglieder Objekte im vector abgelegt hast. Wenn diese dynamisch mit new erzeugt wurden, musst du den vector im Destruktor von Team durchlaufen und die Objekte manuell via delete wieder freigeben.

Gruß,
RedWing
 
Zurück