Static member functions. : static « Class « C++






Static member functions.

  
#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 GetHowMany() { return count; }
private:
   int itsAge;
   static int count;
};

int Cat::count = 0;

void TelepathicFunction();

int main()
{
   const int MaxCats = 5;
   Cat *CatHouse[MaxCats]; int i;
   for (i = 0; i<MaxCats; i++)
   {
      CatHouse[i] = new Cat(i);
      cout << "There are " << Cat::GetHowMany() << " cats alive!\n";
   }

   for ( i = 0; i<MaxCats; i++)
   {
      delete CatHouse[i];
      cout << "There are " << Cat::GetHowMany() << " cats alive!\n";
   }
   return 0;
}
  
    
  








Related examples in the same category

1.Static member variables and functions
2.static functions and ID numbers for objects
3.Using a static data member in a class
4.Static member data.
5.Accessing static members without an object.
6.Accessing static members using non-static member functions.
7.static members in classes
8.Calculate salary using static members.
9.static counter
10.Update static field in member method
11.Reference static method along with class name
12.static field is shared among instances