Muodostaja ja hajottaja ( destructor) ovat eräs olio- ohjelmoinnin kulmakiviä. C++:n lisäetuna (?) on vielä automaattisesti kutsuttavat muodostajat ja hajottimet. Eli esimerkiksi edellisessä esimerkissä (taul_d.cpp) kutsutaan automaattisesti olion luvut hajottajaa silloin, kun olion vaikutusalue lakkaa, eli poistutaan tässä tapauksessa pääohjelmasta.
Hajottaja on parametritön ja tyypitön metodi, jonka nimi on ~Luokan_nimi. Vaikka muodostajia saattoi olla useita, on hajottajia aina VAIN YKSI luokkaa kohti.
Jos luokkaa on mahdollista periä, pitää hajottaja esitellä virtuaaliseksi.