1.析构函数只有当实例被释放的时候才会执行
2.你的类AA是定义在主函数里的,所以生命周期就是主函数的生命周期,只有当主函数结束了,AA才会释放
3.主函数结束,你的进程就结束了,进程结束了,谁来给你执行print?
4.你想观察析构函数如何执行,那重新定义一个子函数,在子函数里实例化AA,然后调用完子函数加个sleep,不要着急结束进程
5.你虽然写了delete a1,但是都写到return 0后面去了,它永远也不会执行
你把return 0写在了两个delete的前面了啊。把return 0放到最后
return 0,提早了。return 0代表着主函数的结束,两种修改方法,第一种是删掉retirn 0,第二种是return0放到最后。