A destructor is a special member function which is used to destroy the objects which has been created by constructor.
Name of the constructor is same as the class name.
Destructor is preceded by tilde symbol(~)
Ex. For the class Integer , Destructor is
~Integer( )
{
}
Destructor should be declared in a public section only.
It is good practice to declare destructor in a program since it releases memory for future use.
Destructor is invoked implicitly by compiler when exit from the scope of the object to clean up the storage that is no longer accessible.
Destructor neither take any argument nor return any value.
#include<conio.h>
#include<iostream.h>
int count=0;
class alpha
{
public:
alpha( )
{
count++;
cout<<"\n\tNo of object created--->"<<count;
}
~alpha( )
{
cout<<"No of object destroyed --->"<<count;
count--;
}
};
void main( )
{
clrscr( );
{
cout<<"\n\tEnter into main function";
alpha a1,a2,a3,a4;
}
{
cout<<"\n\tEnter Block 1";
alpha a5;
}
{
cout<<"\n\tEnter Block 2";
alpha a6;
}
cout<<"\n\tRe Enter main";
}
getch( );
}
Output:-
Enter into main function
No of object created--->1
No of object created--->2
No of object created--->3
No of object created--->4
Enter Block 1
No of object created--->5
No of object destroyed --->5
Enter Block2
No of object created--->5
No of object destroyed --->5
Re Enter main
No of object destroyed --->4
No of object destroyed --->3
No of object destroyed --->2
No of object destroyed --->1
Name of the constructor is same as the class name.
Destructor is preceded by tilde symbol(~)
Ex. For the class Integer , Destructor is
~Integer( )
{
}
Destructor should be declared in a public section only.
It is good practice to declare destructor in a program since it releases memory for future use.
Destructor is invoked implicitly by compiler when exit from the scope of the object to clean up the storage that is no longer accessible.
Destructor neither take any argument nor return any value.
#include<conio.h>
#include<iostream.h>
int count=0;
class alpha
{
public:
alpha( )
{
count++;
cout<<"\n\tNo of object created--->"<<count;
}
~alpha( )
{
cout<<"No of object destroyed --->"<<count;
count--;
}
};
void main( )
{
clrscr( );
{
cout<<"\n\tEnter into main function";
alpha a1,a2,a3,a4;
}
{
cout<<"\n\tEnter Block 1";
alpha a5;
}
{
cout<<"\n\tEnter Block 2";
alpha a6;
}
cout<<"\n\tRe Enter main";
}
getch( );
}
Output:-
Enter into main function
No of object created--->1
No of object created--->2
No of object created--->3
No of object created--->4
Enter Block 1
No of object created--->5
No of object destroyed --->5
Enter Block2
No of object created--->5
No of object destroyed --->5
Re Enter main
No of object destroyed --->4
No of object destroyed --->3
No of object destroyed --->2
No of object destroyed --->1
0 Comments:
Post a Comment