Usuwanie klasy z kontenera, czy wywoła się destruktor?

Usuwanie klasy z kontenera, czy wywoła się destruktor?
gswidwa
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 839
0

Witajcie.
mam taki destruktor w klasie:

Kopiuj
class obj{
     virtual ~obj();
} 

oraz

Kopiuj
vector <obj> vVect; 

Czy jak usunę element wektora wywoła się destruktor?

kq
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Szczecin
2

Tak, ale w tym przypadku masz tam obiekt klasy obj, a nie dziedziczącej, więc nie spodziewaj się zachowania polimorficznego.

Azarien
  • Rejestracja: dni
  • Ostatnio: dni
1

Przyda się za to konstruktor (i operator) przenoszący, którego vector użyje podczas relokacji, bo inaczej będą wszystkie obiekty kopiowane.

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.