kzhereb / knu-is-ooop2019

Materials for "Fundamentals of OOP" course
MIT License
3 stars 0 forks source link

T10.27. В якому порядку викликаються деструктори? #27

Open WAG13 opened 4 years ago

i1red commented 4 years ago

Спочатку викликається деструктор класу, потім його базових класів(у порядку, в якому вони записані при оголошенні класу), які викликають деструктори своїх базових класів і т.д.

Velly69 commented 4 years ago

Деструктор похідного класу виконується перед деструктором базового класу. Оскільки знищення об'єкту базового класу тягне за собою знищення й об'єкту похідного класу, тоді деструктор похідного об'єкту повинен виконуватися перед деструктором базового об'єкту.

AntonHladkiy commented 4 years ago

Спочатку деструктор класу потім деструктор базового класу.

RostyslavMV commented 4 years ago

Якщо дивитися на дерево класів, де корінь - базовий клас, а її нащадки - успадковані класи, далі знову успадковані, вже від успадкованих класів класи, то знизу в гору, тобто спочатку викликається деструктор класу, потім якщо він успадкований від іншого, деструктор базовго класу, якщо базовий клас теж успадкований, то викликається деструктор базового класу для базового класу і так далі.

ilyakorenevskyi commented 4 years ago

Спочатку деструктор заданого классу, потім запускається деструктор базового классу

WAG13 commented 4 years ago

Спочатку деструктор класу потім деструктор базового класу.