1) 对象生命周期结束,被销毁时;
2) delete指向对象的指针时,或delete指向对象的基类类型指针,而其基类虚构函数是虚函数时;
3) 对象i是对象o的成员,o的析构函数被调用时,对象i的析构函数也被调用。