A Yo'q qiluvchi shuningdek, ob'ektga ajratilgan xotirani taqsimlaydigan sinfning a'zosi funktsiyasi. U sinf nomi bilan bir xil nom bilan belgilanadi, oldin a tilda (~) belgi. Destruktorlar har doim konstruktorlarning teskari tartibida chaqiriladi.
Sinfda har doim bitta destruktor mavjud, chunki u hech qanday argumentlarni qabul qilmaydi. Mahalliy ob'ektlar ijro etilishi ustidan nazorat blokdan chiqib ketishi bilanoq yo'q qilinadi; boshqa tomondan, butun dastur tugashi bilan global ob'ektlar yo'q qilinadi.
Destruktorni bevosita kompilyator chaqiradi. Agar sinflar meros qilib olinsa va sinf ota-ona sinfidan kelib chiqsa va ikkala bola sinfida ham, ota-ona sinfida ham destruktorlar mavjud bo'lsa; keyin birinchi navbatda hosil bo'lgan sinfning destruktori, so'ngra ota-onaning destruktori chaqiriladi.
Destruktorni amalga oshirish
Const {int a, b sinf; umumiy: Const (int c, int d) // parametr bilan konstruktor. {a = c; c = d; cout "a va b ning qiymati" ab " n"; } ~ Const () // destruktor chaqirilmoqda. {cout "ob'ekt C1 yo'q qilinadi" " n"; }}; int main () {Const C1 (10,20); }
C1 ob'ekti yaratilganda, ikkita butun sonli parametrga ega konstruktor chaqiriladi va "a, b" a'zosi initsializatsiya qilinadi va "a, b" qiymati chop etiladi. Shundan so'ng destruktor chaqiriladi va "ob'ekt C1 yo'q qilinadi" xabarini nashr etadi.