#include <iostream>
class AA
{
public:
virtual ~AA() { std::cout << "AAAAAAAAAAA" << std::endl; };
};
class BB : public AA
{
private:
int * pp;
public:
~BB() { std::cout << "BBBBBBBBBBB" << std::endl; delete pp; pp = NULL; };
BB():pp(NULL)
{
pp = new int(10);
}
};
/*
基类的析构函数,一定要设置为虚函数,不然后,delete 基类指针的时候,无法释放实际的内存
*/
int main()
{
AA* p = new BB();
delete p;
std::cin.get();
return 0;
}
示例代码---基类析构函数一定设置为虚函数
最新推荐文章于 2024-07-12 14:22:12 发布