C++ 析构函数是在对象被撤销时自动执行的,这里的“对象被撤销时”包括:1.对象生命期结束;2.对象被delete回收。对于数组对象的回收顺序遵循“FILO”的原则,即下标最小的对象在最后被析构掉。下列是个例子:
#include <iostream>
using namespace std;
class A{
public:
A(){
cout << "con cout = " << count++ << endl;
};
~A(){
cout << "decon cout = " << --count << endl;
}
private:
static int count;//static 只能出现在类体内
};
int A:: count = 1;
void main()
{
A a[10];
A *p = new A[10];
delete [] p;
}