In welcher Reihenfolge sind die Destruktoren aufgerufen und member-Variablen, zerstört in C++ mit inhertitance?

Sehr ähnliche Frage wie dieser, außer nicht genau: Was ist die Reihenfolge, in der die Destruktoren und Konstruktoren aufgerufen werden in C++
Um Mitglied der Konstruktor und der Destruktor ruft

Möchte ich wissen: sind die member-Variablen der abgeleiteten Klasse zerstört wird, bevor oder nachdem der Destruktor der Basisklasse aufgerufen wird?

Dies ist in C++ unter Verwendung von Visual Studio 2008. Danke.

  • Die Mitglieder sind zerstört, nachdem der Destruktor ausgeführt wird (da der Destruktor darauf zugreifen darf, und die meiste Zeit hat, um freie Ressourcen, etc.)
  • Erwähnenswert ist, dass Destruktoren immer in der entgegengesetzten Reihenfolge wie Konstruktoren, auch wenn letztere nicht angegeben ist (z.B. Globale Objekte). So müssen Sie nur daran denken, eine oder die andere. Mindestens, ich glaube, dass dies wahr ist, und wäre daran interessiert zu sehen, ein Gegenbeispiel...
  • Es ist ein Fall, der nicht passt (und nur eine): Entladen eines dynamisch geladenen shared object (.so / .dll / ...). Immer noch,, der außerhalb der Zuständigkeit der standard.
  • Danke. Nur die "Art" gilt als eine Ausnahme, IMO, aber lohnt sich zu wissen.
InformationsquelleAutor mczarnek | 2015-02-05
Schreibe einen Kommentar