Static Members
Shared properties are represented by static class
members. Static class members can be either static data
members or static member functions. These members
can be declared in either the public, protected, or private
sections of a class interface.
When a member function is declared as static, we are
not limited to using this function through an object of
that class. This function can be used anywhere it is legal
to use the class itself. This is because static member
functions are invoked independent of the objects and do
not contain a this pointer.
 It can be called via:    class::function(args)