Monday, February 14, 2011

What is destructor?

What is destructor?

A destructor is a special function member of a class that is automatically called when an object about to be deleted. It always has the same name as the class preceded by a ‘tilt’ ~ symbol and has no return type. It is used to free allocated memory used by an object. It takes no arguments.


Example:

 
#include <iostream>
#include <string>
#include <conio.h>
using namespace std;

class Student
{
public:
     Student(char* szName,int nAge)
     {
          m_szName =new char[20];
          strcpy(m_szName,szName);
          m_nAge=nAge;
     }
     ~Student()
     {
          delete[] m_szName;
          m_szName=NULL;
          cout<<"Memory destroyed \r\n";
     };
     int m_nAge;
     char *m_szName;
};

int main()
{
     {
     Student obj("Raj",13);
     cout<<"Name: "<<obj.m_szName<<"\r\n"<<"Age: "<< obj.m_nAge<<"\r\n";
     }

     Student *ptr=new Student("John",12);
     cout<<"Name: "<<ptr->m_szName<<"\r\n"<<"Age: "<< ptr->m_nAge<<"\r\n";
     delete ptr;

     getch();
     return 0;
}



Result:
Name: Raj
Age: 13
Memory destroyed
Name: John
Age: 12
Memory destroyed

No comments:

Post a Comment