Wednesday, 2 July 2014

Destructors

Destructor is a member function having same name as that of constructor but it is preceded by a tilde(~) symbol and is executed automatically when object of a class is destroyed.



•A destructor doesn`t have a return type, not even void and  no arguments 

•There is only one destructor in class.

•If you don’t provide a destructor of your own then the 
compiler generates a default destructor

•A destructor can be used to deallocate memory for an 
object and declared in the public section.

•A destructor function is called
 automatically when the object goes out  
of scope:
 (1) the function ends 
 (2) the program ends
 (3) a block containing temporary variables ends
          (4) a delete operator is called


Need for Destructors
•To de-initialize the objects when they are destroyed
•To clear memory space occupied by a data member.


                              Examaple


#include<iostream>
#include<conio.h>
class counter
{
int id;
public:
counter(int i)
{
Id=I;
cout<<“contructor of object with id=”<<id;
}
~counter()
{
cout<<“destructor with id=”<<id;
}
};
void main()
{
counter c1(1);
counter c2(2);
counter c3(3);
cout<<“\n end of  main”;
getch();
}



Output:

constructor of object with id=1
constructor of object with id=2
constructor of object with id=3
End of main
destructor with id=3
destructor with id=2
destructor with id=1

No comments:

Post a Comment