A static member functions : static member functions « Class « C++ Tutorial






#include <iostream> 
using namespace std; 
 
class MyClass { 
  static int count; 
public: 
 
  MyClass() { 
    count++; 
    cout << "Constructing object " << 
             count << endl; 
  } 
 
  ~MyClass() { 
     cout << "Destroying object " <<  
             count << endl; 
     count--; 
  } 
  
  static int numObjects() { return count; } 
}; 
 
int MyClass::count; 
 
int main() { 
  MyClass a, b, c; 
 
  cout << "There are now " << MyClass::numObjects() << " in existence.\n\n"; 
 
  MyClass *p = new MyClass(); 
 
  cout << "there are now " << MyClass::numObjects() << " in existence.\n\n"; 
 
  delete p; 
 
  cout << " there are now " << a.numObjects() << " in existence.\n\n"; 
 
  return 0; 
}
Constructing object 1
Constructing object 2
Constructing object 3
There are now 3 in existence.

Constructing object 4
there are now 4 in existence.

Destroying object 4
 there are now 3 in existence.

Destroying object 3
Destroying object 2
Destroying object 1








9.26.static member functions
9.26.1.A static member functions
9.26.2.Static method and static variable
9.26.3.name conflicts