/********************************************************************* Filename: scope1.cpp Section: 4 Declarations and Scope Rules Compiler: Borland C++ Version 5.0 Summer 1996 C++ Distilled: Descriptions, Prescriptions and Style By Ira Pohl *********************************************************************/ // :: scope resolution operator // Title: scope_operator #includeint i = 1; // external i void foo(int i) //parameter i { cout << i << " foo i <> ::i " << ::i << "\n"; i = ::i; //parameter i is assigned external i cout << i << " foo i <> ::i " << ::i << "\n"; } int main() { int i = 2; //redeclares i locally { cout << "enter inner block\n"; int n = i; //the global i is still visible int i = 3; //hides both the global i and external i /// print the local i and external i cout << i << " i <> ::i " << ::i << "\n"; cout << "n = " << n << "\n"; } cout << "enter outer block\n"; cout << i << " i <> ::i " << ::i << "\n"; foo(5); }