Static Data Members
It is important to realize that memory is allocated for static
data members when we explicitly define those static data
members, not when we declare the static data members as
part of a class definition. Think of the static data member
declarations within a class as external references to data
members defined elsewhere.
Clients can access a public static data member by saying
class_name::static_data_member
It is also possible for clients to access a public static data
member once an object is defined for that class by saying
object_name.static_data_member.