Constructor
A constructor is a special function of a class
which is executed whenever the object is created of that class. Every class must
have a constructor and a destructor function to allocate and delete the memory
for that object. Unlike other class member functions, constructor is a function
which is executed at first when the object is being created.
Constructor function can be overloading but it cannot return any value and
constructor function must be the class name.
Destructor
Destructor function is executed when the object is destroyed. Destructor function deletes all memory spaces that were allocated for this object. Like constructor function, destructor function should not have the return type. Destructor function also the same name as class name with ~ sign append.
Sample Class
#include <iostream>
using namespace std;
class CRect {
private:
int width, height;
public:
CRect();
CRect(int w, int h);
void setValue(int, int);
int area() { return width * height; }
~CRect(){ cout<<"Destructor...\n"; }
};
CRect::CRect()
{
width = height = 0;
}
CRect::CRect(int a, int b)
{
width = a;
height = b;
}
void CRect::setValue(int x, int y)
{
width = x;
height = y;
}
int main()
{
CRect RectA (5,6);
CRect RectB;
RectB.setValue(7,8);
cout<<"Area of Rectangle A: " <<RectA.area()<<endl;
cout<<"Area of Rectangle B: " <<RectB.area()<<endl;
return 0;
}
Output
Area of Rectangle A: 30
Area of Rectangle B: 56
Destructor…
Destructor…
In above sample example CRect() and CRect(int w, int h) both are constructor functions. And ~Rect() is a destructor function.

Join the conversation! Your thoughts help the community grow.