Class Scope and Block Scope
Variables declared in a member function have block scope and are known only to that function. If a member function defines a variable with the same name as a variable with class scope, the class-scope variable is hidden in the function by the block-scope variable. Such a hidden variable can be accessed by preceding the variable name with the class name followed by the scope resolution operator (
::). Hidden global variables can be accessed with the scope resolution operator (see Chapter 6).