Class Scope
The name of a class member has class scope and can only
be used in the following cases:
- In a member function of that class
- In a member function of a class derived from that class
- After the . (dot) operator applied to an instance of that
class
- After the . (dot) operator applied to an instance of a
class derived from that class
- After the -> (arrow) operator applied to a pointer to
an instance of that class
- After the -> (arrow) operator applied to a pointer to
an instance of a class derived from that class
- After the :: (scope resolution) operator applied to the
name of a class
- After the :: (scope resolution) operator applied to a
class derived from that class.

Scope of Class Names.