如果想实现这样的功能:
对类所对应的对象所涉及到的内存都释放掉,就需要在析构函数中delete掉对应的对象,为了确保所new出来的对象都是在堆上,就需要把析构函数放到private中,而在public中实现一个类似destroy()的销毁函数,执行delete操作。
原理解释:如果析构函数是私有的,在对类实例化的时候,如果对应的对象不是在堆中那么编译器会报错,因为无法直接调用析构函数来进行析构对象,而public中的destroy来类似显式delete对象,就能访问所在类中的私有成员函数。
如果想实现这样的功能:
对类所对应的对象所涉及到的内存都释放掉,就需要在析构函数中delete掉对应的对象,为了确保所new出来的对象都是在堆上,就需要把析构函数放到private中,而在public中实现一个类似destroy()的销毁函数,执行delete操作。
原理解释:如果析构函数是私有的,在对类实例化的时候,如果对应的对象不是在堆中那么编译器会报错,因为无法直接调用析构函数来进行析构对象,而public中的destroy来类似显式delete对象,就能访问所在类中的私有成员函数。