私有化析构函数

来源:互联网 发布:水波炉 知乎 编辑:程序博客网 时间:2024/04/28 03:52

如果想实现这样的功能:

对类所对应的对象所涉及到的内存都释放掉,就需要在析构函数中delete掉对应的对象,为了确保所new出来的对象都是在堆上,就需要把析构函数放到private中,而在public中实现一个类似destroy()的销毁函数,执行delete操作。

原理解释:如果析构函数是私有的,在对类实例化的时候,如果对应的对象不是在堆中那么编译器会报错,因为无法直接调用析构函数来进行析构对象,而public中的destroy来类似显式delete对象,就能访问所在类中的私有成员函数。