Computer Science, asked by tariquem252, 6 months ago

define the terms Constructor and destructor in detail with suitable example.write their difference​

Answers

Answered by Nunique
0

Difference Between Constructor and Destructor in C++

Constructor:

A constructor is a member function of a class that has the same name as the class name. It helps to initialize the object of a class. It can either accept the arguments or not. It is used to allocate the memory to an object of the class. It is called whenever an instance of the class is created. It can be defined manually with arguments are without arguments. There can be many constructors in a class. It can be overloaded but it can not be inherited or virtual. There is a concept of copy constructor which is used to initialize an object from another object.

Syntax:

 ClassName()

  {

    //Constructor's Body  

  }  

Destructor:

As a constructor, deconstructor is also a member function of a class that has the same name as the class name preceded by a tilde(~) operator. It helps to deallocate the memory of an object. It is called while the object of the class is freed or deleted. In a class, there is always a single destructor without any parameters so it can’t be overloaded. It is always called in the reverse order of the constructor. if the class inherited by another class and both the classes have destructor then the destructor of the child class is called first, followed by the destructor of the parent or base class.

Syntax:

 ~ClassName()

  {  

  }

Example/Implementation of Constructor and Destructor:

class Z

{

public:

   // constructor

   Z()

   {

       cout<<"Constructor called"<<endl;

   }

   // destructor

   ~Z()

   {

       cout<<"Destructor called"<<endl;

   }

};

int main()

{

   Z z1;   // Constructor Called

   int a = 1;

   if(a==1)

   {

       Z z2;  // Constructor Called

   }  // Destructor Called for z2

} //  Destructor called for z1  

Output:

Constructor called

Constructor called

Destructor called

Destructor called  

Difference between Constructor and Destructor in C++ :

S.NO CONSTRUCTOR DESTRUCTOR

1. Constructor helps to initialize the object of a class.

       Whereas destructor is used to destroy the instances.

2. It is declared as Classname( arguments if any ){Constructor’s Body }.

Whereas it is declared as ~ ClassName( no arguments ){ };.

3. A Constructor can either accept the arguments or not.

While it can’t have any argument.

4. A constructor is called when the instance or object of the class is created.

It is called while the object of the class is freed or deleted.

5. A Constructor is used to allocate the memory to an instance or object.

While it is used to deallocate the memory of an object of a class.

6. A Constructor can be overloaded.

While it can’t be overloaded.

7. The constructor’s name is the same as the class name.

Here, its name is also the same as the class name preceded by a tiled (~) operator.

8. In class, there can be multiple constructors.

While in a class, there is always a single destructor.

9. There is a concept of copy constructor which is used to initialize an object from another object.

       While here, there is no copy constructor concept.

Similar questions