支持楼上, 这种问题常遇到, 一般只要是程序异常退出, 大部分都是空指针, 野指针, 数组访问越界造成的, 仔细检查一下程序, 看看程序运行到哪出现了错误退出.
小提示: 指针最好要初始化, 起码也要初始化成 p = 0. 删除后也要赋值为0, 即使在析构函数中删除, 因为如果有继承的情况的时候, 父类析构函数中如 delete p; 然后你不小心也在子类的析构函数中又再次调用了 delete p; 这时程序就很可能异常退出, 因为p这时所指的空间已经回收给系统, 并不知道是否已经再次被分配使用, 我就干过这种蠢事, 找了很久才找出来, 吐血.