### Using the Class Access Operators with Static Members

You can also access a static member from a class object by using the class access operators . (dot) and -> (arrow). When a static member is accessed through a class access operator, the expression on the left of the . or -> operator is not evaluated.

Example of Accessing Static Members

A static member can be referred to independently of any association with a class object because there is only one static member shared by all objects of a class. A static member can exist even if no objects of its class have been declared.

When you access a static member, the expression that you use to access it is not evaluated. In the following example, the external function f( ) returns class type X. The function f() can be used to access the static member i of class X. The function f() itself is not called.

    // This example shows that the expression used to
    // access a static member is not evaluated.

    class X
    {
    public:
          static int i;
    };
    int X::i = 10;
    X f() { /* ... */ }
    void main ()
    {
          int a;
          a = f().i;       // f().i does not call f()
    }

Related Information

- Static Members
- Dot Operator .
- Arrow Operator ->
- Static Data Members
- Static Member Functions