What is destructor?
Destructor is a member function which destructs or deletes an object.
When is destructor called?
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 local variables ends
(4) a delete operator is called
How destructors are different from a normal member function?
Destructors have same name as the class preceded by a tilde (~)
Destructors don’t take any argument and don’t return anything
Can there be more than one destructor in a class?
No, there can only one destructor in a class with classname preceded by ~, no parameters and no return type.
When do we need to write a user-defined destructor?
If we do not write our own destructor in class, compiler creates a default destructor for us. The default destructor works fine unless we have dynamically allocated memory or pointer in class. When a class contains a pointer to memory allocated in class, we should write a destructor to release memory before the class instance is destroyed. This must be done to avoid memory leak.
Can a destructor be virtual?
Yes, In fact, it is always a good idea to make destructors virtual in base class when we have a virtual function. See virtual destructor for more details.
You may like to take a quiz on destructors.
Please write comments if you find anything incorrect, or you want to share more information about the topic discussed above.
Attention reader! Don’t stop learning now. Get hold of all the important DSA concepts with the DSA Self Paced Course at a student-friendly price and become industry ready.
- Playing with Destructors in C++
- C++ Interview questions based on constructors/ Destructors.
- Ratio of all subarrays of size K
- Modify string by increasing each character by its distance from the end of the word
- Find the missing digit x from the given expression
- Swap the elements between any two given quadrants of a Matrix
- Check if a number is a perfect square having all its digits as a perfect square
- Program to calculate gross salary of a person
- Sum of all numbers up to N that are co-prime with N
- Maximize count of empty water bottles from N filled bottles
- Count all N digit numbers whose digits are multiple of X
- Range sum queries based on given conditions
- Product of all numbers up to N that are co-prime with N
- Program To Check whether a Triangle is Equilateral, Isosceles or Scalene