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