Seite 1 von 1

Bleibt ein Objekt auf dem Heap, wenn übergeordnetes Objekt nicht mehr gebraucht wird?

Verfasst: 28. Februar 2021 17:43
von freakonaleash99
Hallo,

ich habe eine grundlegende Frage zum Thema Destruktor. Ich habe bisher immer mit dem vorgegebenen Destruktor gearbeitet, also den Destruktor nicht nochmal neu implementiert.

Wenn ich in einen Objekt von einer Klasse1 ein Objekt aus der Klasse2 mit klasse2 *a = new klasse2(); auf dem Heap erzeuge, wird dieses Objekt gelöscht wenn der Standard-Destruktor (nicht neu implementiert) von Klasse1 aufgerufen wird? Oder bleibt das Objekt der Klasse2 dann einfach auf dem Heap und müllt den speicher zu? Ich bin mir da nie so sicher, ob ich einen neuen destruktor implementieren muss. Ich weise dem Objekt aus klasse2 auch kein parent zu.... wenn ich das Objekt aus Klasse2 einfach auf dem Stack anlege mit klasse2 a; dann wird es ja gelöscht.

Ich hoffe ihr wisst, was ich meine. Könnt ihr mir die Frage beantworten?
Vielen Dank im voraus.