45 lines
797 B
C++
45 lines
797 B
C++
Accessing static members without an object.
|
|
#include <iostream>
|
|
using namespace std;
|
|
class Cat
|
|
{
|
|
public:
|
|
Cat(int age):itsAge(age){count++; }
|
|
virtual ~Cat() { count--; }
|
|
virtual int GetAge() { return itsAge; }
|
|
virtual void SetAge(int age) { itsAge = age; }
|
|
static int count;
|
|
|
|
private:
|
|
int itsAge;
|
|
|
|
};
|
|
|
|
int Cat::count = 0;
|
|
|
|
void TelepathicFunction();
|
|
|
|
int main()
|
|
{
|
|
const int MaxCats = 5; int i;
|
|
Cat *CatHouse[MaxCats];
|
|
for (i = 0; i<MaxCats; i++)
|
|
{
|
|
CatHouse[i] = new Cat(i);
|
|
TelepathicFunction();
|
|
}
|
|
|
|
for ( i = 0; i<MaxCats; i++)
|
|
{
|
|
delete CatHouse[i];
|
|
TelepathicFunction();
|
|
}
|
|
return 0;
|
|
}
|
|
|
|
void TelepathicFunction()
|
|
{
|
|
cout << "There are ";
|
|
cout << Cat::count << " cats alive!\n";
|
|
}
|