Rather than defining a generally accessible global object,a class can define a class static member.
Oridinary,nonstatic data members exist in each object of the class type.Unlike ordinary date members,a static data member exists independently of any object of its class;each static data member is an object associated with the class,not with the objects of that class.
A static member function has no this parameter.It may directly access the static members of its class but may not directly use the nonstatic members.
Defining static members :
Using a Class static member
A ststic member can be invoked directly from the class using the scope operator or indirectly through an object,reference,or pointer to an object of its class type.
static Member Functions
When we define a static member outside the class,we do not respecify the static keyword.The keyword appers only with the declaration inside the class body:
static Data Members
static data members must be defined (exactly once)outside the class body.static members are not initialized through te constructor(s) and instead should be initilaized when they are defined.