Saya memiliki class A
yang menggunakan alokasi memori tumpukan untuk salah satu bidangnya. Kelas A dipakai dan disimpan sebagai bidang pointer di kelas lain ( class B
.
Ketika saya selesai dengan objek kelas B, saya sebut delete
, yang saya anggap memanggil destruktor ... Tapi apakah ini memanggil destruktor kelas A juga?
Edit:
Dari jawaban, saya ambil itu (harap edit jika salah):
delete
dari contoh panggilan B B :: ~ B ();- yang memanggil
A::~A();
A::~A
harus secara eksplisitdelete
semua variabel anggota yang dialokasikan tumpukan dari objek A;- Akhirnya blok memori yang menyimpan instance kelas B dikembalikan ke heap - ketika baru digunakan, pertama dialokasikan blok memori pada heap, kemudian memanggil konstruktor untuk menginisialisasi, sekarang setelah semua destructor telah dipanggil untuk menyelesaikan objek yang blokir tempat objek berada dikembalikan ke heap.