Static Data Members
When we use the keyword static in the declaration a data
member, only one occurrence of that data member exists
for all instances of the class. Such data members belong to
the class and not to an individual object and are called
static data members. Static data represents class data rather
than object data.
To specify a static data member, we must supply the
declaration inside the class interface and the definition
outside the class interface. Unlike a non-static data
member, a static data member's declaration does not cause
memory to be allocated when an object is defined.