Основні властивості і правила використання деструкторов

Основні властивості і правила використання деструкторов:

- клас може мати тільки один деструктор;

- деструктор має те ж ім'я, що і клас, в якому він оголошується, з префіксом тильда (

- деструктор не має параметрів (аргументів);

- деструктор не повертає значення (навіть типу void);

- конструктори не можна оголошувати як const або static;

- деструктор не успадковується в похідних класах. Але похідний клас може викликати деструктори для його базових (батьківських) класів;

- деструкція - це функція, і він може бути віртуальним (його можна оголосити з ключовим словом virtual);

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

- деструкція можна викликати так само, як звичайну функцію, якщо використовувати його повне ім'я. Наприклад, Х * р ;. р-> Х :: Х ()

- деструктор викликається автоматично тільки руйнуванні (знищенні) об'єкта;

- об'єкт, що містить деструктор, не можна включити в вигляді компонента в об'єднання (union);

- при виклику бібліотечної функції exit викликаються деструктори тільки для глобальних об'єктів;

- при виклику бібліотечної функції abort ніякі деструктори викликаються;

- якщо пам'ять під об'єкт виділено через покажчик за допомогою оператора new, то при припиненні існування цього покажчика об'єкт автоматично не руйнується. Для руйнування об'єкта в програмі треба використовувати оператор delete.

Схожі статті