Mega Code Archive

 
Categories / C++ Tutorial / Class
 

Static data members

#include <iostream>    class MyClass  {  public:      MyClass(int age = 1):intValue(age){         InstanceCount++;       }      virtual ~MyClass() {          InstanceCount--;       }      virtual int getValue() {          return intValue;       }      virtual void setValue(int age) {          intValue = age;       }      static int InstanceCount;    private:      int intValue;    };    int MyClass::InstanceCount = 0;    int main()  {      const int count = 5;      MyClass *MyClassHouse[count];      int i;      for (i = 0; i<count; i++)          MyClassHouse[i] = new MyClass(i);        for (i = 0; i<count; i++)      {          std::cout << "There are ";          std::cout << MyClass::InstanceCount;          std::cout << " left!\n";          std::cout << "Deleting the one which is ";          std::cout << MyClassHouse[i]->getValue();          delete MyClassHouse[i];          MyClassHouse[i] = 0;      }      return 0;  } There are 5 left! Deleting the one which is 0There are 4 left! Deleting the one which is 1There are 3 left! Deleting the one which is 2There are 2 left! Deleting the one which is 3There are 1 left! Deleting the one which is 4