CC++语言篇:虚析构函数

it2022-05-09  29

析构函数的作用

类的析构函数是为了释放内存资源,析构函数不被调用的话会造成内存泄露。

虚析构函数的作用

定义虚析构函数是为了,当用一个基类指针删除一个派生类对象时,派生类的析构函数会被调用。C++默认析构函数不是虚函数,是因为虚函数需要额外的虚函数表和虚表指针,占用额外的内存。对于不会被继承的类来说,其析构函数如果是虚函数,就会浪费内存。因此,C++默认的析构函数不是虚函数,而是只有需要作为父类时,才设置虚函数。

最新回复(0)