私有析构函数和虚析构函数

私有析构函数

避免在栈上创建对象,在堆上new的空间可以自己控制生命周期。也避免对象被别人通过delete删除。但是需要自己提供destory函数来删除对象。

http://www.aichengxu.com/view/54771

虚析构函数

当基类的指针指向子类的对象时,如果使用delete释放该指针,则只会调用基类的析构函数。所以需要将基类的析构函数定义为虚函数,达到先析构子类,再析构父类的目的。

http://c.biancheng.net/cpp/biancheng/view/247.html