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

Du bist neu in der Welt von C++? Dann schau hier herein!
Antworten
freakonaleash99
Beiträge: 43
Registriert: 23. Juli 2017 12:35

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

Beitrag 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.
Antworten