Virtueller Destruktor
-
Hallo,
wenn ich eine c++ Klasse erstellen, gibt es die Wahl zwischen "normalen" und "virtuellen" Destruktur? Mir ist aber der Unterschied nicht klar, was in diesem Zusammenhang "virtuell" bedeutet?
Danke
Chris
-
-
Ohne virtuellen Destruktor würde es beim Löschen über einen Basiszeiger Probleme geben.
Das Beispiel für die virtuellen Methoden (s.o.) gelten auch für destruktoren.
Wenn B von A erbt und A keinen Virtuellen Destruktor hat gibts hier ein Problem:
A * b = new B; delete b; // Würde Desruktor von B nie aufrufen
-
Hallo,
danke für die Antworten. Ist mir jetzt schon klar. Meine sichtweise war zu eng! Da ich von einer Klasse ausgegangen bin, die nicht vererbt wird...
Gruß
Chris
