Class scope (C++ only)
A name declared within a member function hides a declaration of the same
name whose scope extends to or past the end of the member function's class.
When the scope of a declaration extends to or past the end of a class definition,
the regions defined by the member definitions of that class are included in
the scope of the class. Members defined lexically outside of the class are
also in this scope. In addition, the scope of the declaration includes any
portion of the declarator following the identifier in the member definitions.
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, as long as the derived class does not hide the name
- 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, as long as the derived class does not
hide the name
- 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
Related information