virtual-destructor

Ein virtueller Destruktor stellt sicher, dass ein C ++ - Objekt den Destruktor der am meisten abgeleiteten Klasse korrekt aufruft, wenn ein polymorphes Objekt durch einen Zeiger auf seine Basisklasse gelöscht wird.
3
Antworten

Gibt es eine Möglichkeit, einen geschützten Destruktor virtuell zu machen?

%Vor% Wenn ich% destructor Parent virtuell mache, erhalte ich einen Fehler, also was ist der Zweck, einen geschützten Destruktor virtuell zu machen?     
23.01.2012, 10:51
2
Antworten

virtueller Destruktor in der reinen abstrakten Basisklasse

Ich habe %Vor% GCC besteht darauf, dass ich habe %Vor% Ich verstehe nicht warum. Eine reine Schnittstelle ist alles über die Schnittstelle (duh). Der Destruktor ist Teil der internen Implementierungsdetails eines konkreten Implementierer...
26.07.2010, 15:46
8
Antworten

Reihenfolge der Zerstörung mit virtuellen

Kann jemand bitte helfen, was die Reihenfolge der Zerstörung ist, wenn ich virtuelle Funktionen benutze. Beginnt es mit der Basisklasse und der abgeleiteten Klasse?     
17.08.2010, 21:29
2
Antworten

Können virtuelle Funktionen inline sein [duplizieren]

Wenn ich eine Klasse wie folgt definiere: %Vor% Bedeutet dies, dass der virtuelle Destruktor und func inline sind     
25.08.2013, 18:04
3
Antworten

Warum ist der Standarddestuktor für eine abstrakte Klasse nicht virtuell?

Betrachten Sie %Vor% An dieser Stelle ist es absolut offensichtlich, dass A eine abstrakte Klasse ist und niemals selbst instanziiert wird. Warum also fordert der Standard nicht, dass der automatisch erzeugte Destruktor auch virtuell sein...
14.11.2012, 18:46
1
Antwort

Gilt "The Rule of Zero" auch für Klassen mit virtuellen Methoden?

Ich finde Die Nullregel wie auch auf Peter Sommerlads Slides (S. 32) sehr überzeugend. Obwohl ich mich erinnere, dass es eine strikte Regel gab, dass one hat, um den Destruktor virtuell zu definieren , wenn die Klasse virtuelle Mitg...
07.02.2014, 20:33
4
Antworten

Frage zum reinen virtuellen Destruktor

Wenn wir eine abstrakte Klasse definieren, die einen reinen virtuellen Destruktor besitzt, warum müssen wir dann einen Destruktor in der abstrakten Klasse definieren?     
16.06.2009, 02:27