析构函数(destructor) 与构造函数相反,当对象脱离其作用域时(例如对象所在的函数已调用完毕),系统自动执行析构函数。析构函数往往用来做“清理善后” 的工作(例如在建立对象时用new开辟了一片内存空间,应在退出前在析构函数中用delete释放)。
p1.~point(); 你自己调用了一次,但是没有析构对象主函数结尾,程序结束前,销毁对象自动调用析构函数,构造了两个对象调用两次
在函数退出时会自动调查用!和构造函数相板的。