创建一个类的对象的同时就会调用该类相应的构造函数,当对象消失时(例如程序结束)就会调用该类的析构函数,释放相应的内存空间,(跟构造函数不同,它不接受任何参数)
你说的“有些析构函数中出现delete....,protected...”,这可能跟深拷贝和浅拷贝有关(深拷贝和浅拷贝的定义可以简单理解成:如果一个类拥有资源(堆,或者是其它系统资源),当这个类的对象发生复制过程的时候,这个过程就可以叫做深拷贝,反之对象存在资源但复制过程并未复制资源的情况视为浅拷贝。),delete是要释放掉对象的成员(例如它是指针)protected就不能笼统的说了,只能具体情况具体分析
这是我的一点见解,仅供参考
有不同意见的请指出~~