析构函数是类的一个特殊的成员函数。析构函数的标志是在字符~之后加上类的名字。它执行与构造函数相反的操作,通常用于撤销对象时的一些清理任务,如释放内存空间等等。析构函数没有返回值类型和返回值,而且不能重载。在撤销对象的时候,编译器会自动调用析构函数。
函数main声明了3个对象,对象Date1和Date2都是局部自动对象,对象Date3是静态局部对象,前两个对象在声明对象时被调用。析构函数在main函数结束的时候被调用,先调用Date2的析构函数,然后是Date1的析构函数。因Date3是静态局部对象,所以其生命期从生命该对象开始直到程序结束。