Destructors in C++

Using Destructors in C++?
How to destroy objects in C++?


Destructors are a type of member functions used to destroy the objects of a class created by a "Constructor". The destructors have the same name as the class whose objects are intialized but with a "~" or "tilde" symbol preceding the destructor declaration.

"Destructors" dont take any arguments or neither pass any values. But it is used to free the space used by the program. The C++ compiler calls the destructor implicitly when a program execution is exited.

Example :

#include <iostream.h>
int cnt=0;
class display
cout << "\nCreate Object::" << cnt;
cout << "\nDestroyed Object::" << cnt;
int main()
cout << "\nMain Objects x,y,z\n";
display x,y,z;
cout << "\n\nNew object 4\n";
display B;
cout << "\n\nDestroy All objects x,y,z\n";
return 0;

Result :

Main Objects x,y,z
Create Object::1
Create Object::2
Create Object::3
New objects 4
Create Object::4
Destroyed Object::4
Destroy All objects x,y,z
Destroyed Object::3
Destroyed Object::2
Destroyed Object::1

In the above example both a constructor "display()", destructor "~display()" is used. First three objects x,y,z are created, then a fourth object is created inside "{}". The fourth object is destroyed implicitly when the code execution goes out of scope defined by braces. Finally all the exisiting objects are destroyed.

C++ Tutorial

Ask Questions

Ask Question