Seperti bagian sebelumnya, pada kelas turunan, destruktor tidak dapat diserap oleh kelas turunan.
Poin kuncinya adalah setiap orang harus memahami dengan jelas urutan pemanggilan destruktor kelas turunan dan kelas dasar. Urutan pemanggilan destruktor sepenuhnya berlawanan dengan urutan pemanggilan konstruktor. Kita dapat mengeluarkan pesan di destruktor kelas turunan dan destruktor kelas dasar dan amati urutan Panggilan:
/***************************************//Des: Demo tutorial C++ //Penulis: Huang/ /Hak Cipta:www.dotcpp.com//Tanggal:2017/11/15********************************* * *******/#include<iostream>usingnamespacestd;classClock{private:intH;intM;intS;public:Clock(){cout<<Clock'sConstructorCalled!<<endl;}~Clock(){cout < <Clock'sDestructorCalled!<<endl;}};classAlarmClock:publicClock{private:intAH;intAM;public:AlarmClock(){cout<<AlarmClock'sConstructorCalled!<<endl;}~AlarmClock(){cout<<AlarmClock ' sDestructorDipanggil!<<endl;}};intmain(){AlarmClockA;return0;}Tangkapan layar yang sedang berjalan:

Seperti yang Anda lihat, mendefinisikan kelas turunan AlarmClock akan menghasilkan kelas dasar terlebih dahulu, sedangkan urutan penghancurannya dibalik.
Urutan pemanggilan konstruktor: kelas dasar -> kelas turunan
Urutan pemanggilan destruktor: kelas turunan -> kelas dasar
Silakan mencobanya sendiri.