У мене є an, class Aякий використовує розподіл пам'яті купи для одного з його полів. Клас А інстанціюється і зберігається як поле вказівника в іншому класі ( class B.
Коли я закінчую з об'єктом класу B, я дзвоню delete, який, як я вважаю, називає деструктором ... Але це також називає деструктор класу A?
Редагувати:
З відповідей я беру це (будь ласка, відредагуйте, якщо невірно):
deleteекземпляра B викликів B :: ~ B ();- який дзвонить
A::~A(); A::~Aповинні явноdeleteвсі змінні член-об'єкти об'єкта A, виділені з купи;- Нарешті, блок пам'яті, що зберігає згаданий екземпляр класу B, повертається до купи - коли було використано нове , він спочатку виділив блок пам'яті на купу, потім викликав конструкторів, щоб ініціалізувати його, тепер після того, як всі деструктори будуть викликані для доопрацювання об'єкта об'єктом блок, де об'єкт перебував, повертається до купи.