Конструктор і деструктор класу в c, purecodecpp
Деструкція визначено в рядках 34 - 37. Для простоти прикладу він просто відобразить рядок в тому місці програми, де спрацює. Рядок 43 - оголошуємо об'єкт класу і передаємо дані для запису в поля. Тут спрацює конструктор з параметрами. А в рядку 46 - спрацює конструктор за замовчуванням.

Бачимо, що деструкція спрацював автоматично і двічі (так як в програмі було два об'єкти класу). Він спрацьовує тоді, коли робота програми завершується і знищуються всі дані.
- Конструктор і деструктор повинні бути public;
- Конструктор і деструктор не мають типу значення, що повертається;
- Імена класу, конструктора і деструктора повинні збігатися;
- Конструктор може приймати параметри. Деструкція не приймає параметри;
- При визначенні деструкції перед ім'ям треба додати символ
Щоб підтримати наш сайт - натисніть на скарбничку і виберіть будь-який зручний спосіб.
admin.
>> Один об'єкт оголошується відразу під час визначення класу - рядок 25. При запуску програми конструктор цього об'єкту спрацює навіть до входу в головну функцію.
Зовсім не важливо відразу «під час визначення» або потім. Викликається він раніше, тому що це глобальний об'єкт.
>> Найчастіше його роль полягає в тому, щоб звільнити динамічну пам'ять, яку виділяв конструктор для об'єкта.
Якщо об'єкт виділяє всередині себе пам'ять - то так, треба писати руками деструктор і звільняти її.
Але у вашому випадку динамічна пам'ять не виділяється, а деструктор таки потрібен (він коректно повинен знищити об'єкт). Але в вашому прикладі його можна було і не писати зовсім - якщо деструктора в класі немає - то буде створений деструктор за замовчуванням - він видалить коректно об'єкт, але пам'ять, розподілену динамічно природно не звільнить.
Однак є в С ++ розумні покажчики і якщо використовувати їх - то майже завжди можна покладатися на деструкцію за замовчуванням)).
Чи не порушена купа питань по темі статті, наприклад:
- список ініціалізації конструктора;
- віртуальний деструктор;
- конструктор копіювання;
- конструктори за умовчанням;
- виключення в конструкторах і деструктори;
- т. П.
Воно все буде описано? )
admin.
Звичайно, ще будуть статті. Конструктор копіювання - обов'язково в окремій статті розглянемо. Про конструкторах за замовчуванням - додам до цієї статті.