Static members (C++ only)
Class members can be declared using the storage class
specifier static
in the class member list. Only one
copy of the static member is shared by all objects of a class in a
program. When you declare an object of a class having a static member,
the static member is not part of the class object.
A typical use of static members is for recording data common to all objects of a class. For example, you can use a static data member as a counter to store the number of objects of a particular class type that are created. Each time a new object is created, this static data member can be incremented to keep track of the total number of objects.
You access a static member by qualifying the class name
using the
::
(scope resolution) operator. In the
following example, you can refer to the static member f()
of
class type X
as X::f()
even if no
object of type X
is ever declared: struct X {
static int f();
};
int main() {
X::f();
}