#include <iostream>
using std::cout;
using std::endl;
#define TOTAL 3
class Animal {
private:
static int sCount;
public:
Animal() { sCount++; }
virtual ~Animal() { sCount--; }
virtual int GetStaticCounter() { return sCount; }
};
int Animal::sCount = 0;
int main()
{
Animal *oArray[TOTAL];
for (int i = 0; i < TOTAL; i++)
{
oArray[i] = new Animal();
cout << oArray[i]->GetStaticCounter() << endl;
}
for (int i = 0; i < TOTAL; i++)
{
cout << oArray[i]->GetStaticCounter() << endl;
delete oArray[i];
oArray[i] = NULL;
}
return 0;
}
/*
run:
1
2
3
3
2
1
*/