虚函数是实现多态的基础,我们可以使用基类指针指向派生类对象,如果没有将基类析构函数定义为虚函数,则在释放该对象时,仅仅会调用基类的析构函数,而不会调用派生类的析构函数,导致析构不完全而产生内存泄漏。
将基类析构函数定义为虚函数,并在派生类中重写了该析构函数,当我们使用基类指针指向派生类对象,释放该内存时,则会先调用派生类析构函数,再调用基类的析构函数,从而完成对该对象内存的完全释放。
C++中析构函数使用虚函数的作用
最新推荐文章于 2023-01-29 15:51:44 发布
虚函数是实现多态的基础,我们可以使用基类指针指向派生类对象,如果没有将基类析构函数定义为虚函数,则在释放该对象时,仅仅会调用基类的析构函数,而不会调用派生类的析构函数,导致析构不完全而产生内存泄漏。
将基类析构函数定义为虚函数,并在派生类中重写了该析构函数,当我们使用基类指针指向派生类对象,释放该内存时,则会先调用派生类析构函数,再调用基类的析构函数,从而完成对该对象内存的完全释放。