A destructor is a special method for a class and is invoked automatically when an object is finally destroyed. The name of the destructor is also same as that of the class but is followed by a prefix tilde (~).A destructor is used to free the dynamic allocated memory and release the resources. You can, however, implement a custom method that allows you to control object destruction by calling the destructor.The main features of a destructor are as follows: Destructors do not have any return type Similar to constructors, destructors are also always public Destructors cannot be overloaded.