What is the use of the virtual destructor in C++
Today, I would like to share with you the relevant knowledge about the use of the virtual destructor in C++. The content is detailed and the logic is clear. I believe most people still know too much about this knowledge, so share this article for your reference. I hope you can get something after reading this article, let's take a look at it.
one。 The function of virtual destructor
In general, virtual destructors are designed to avoid memory leaks and are used only when there are pointer member variables in subclasses. That is to say, the virtual destructor makes it possible to call the subclass destructor when deleting the base class pointer to the subclass object to free the heap memory in the subclass and prevent memory leakage.
We know that when developing with C++, the destructors of the classes used as base classes are generally virtual functions. But why do we have to do so? Here is a small example to illustrate:
# includeusing namespace std;class ClxBase {public: ClxBase () {}; virtual ~ ClxBase () {cout