www.gusucode.com > 《C++高级语言程序设计》PPT及全书例子源代码-源码程序 > 《C++高级语言程序设计》PPT及全书例子源代码-源码程序/code/C++例题程序/第6章/s6_20/smain6_20.cpp
//Download by http://www.NewXing.com //文件名:smain6_19.cpp //命名空间的使用 #include <iostream> using namespace std; int iNum = 1000; //全局变量 // MyName.h namespace MyName //定义命名空间MyName { int iNum = 200; //MyName空间中的变量 int Add(int iNum) //Myname空间中的Add { iNum = iNum + iNum; //访问的是Add内的局部变量 return iNum; } } // YourName.h namespace YourName //定义命名空间YourName { int iNum = 30000; //YourName空间中的变量 int Add(int iNum) //YourName空间中的Add { iNum = ::iNum + iNum; //::iNum访问全局iNum return iNum; } } //测试程序 void main(void) { cout << MyName::Add(10)+::iNum << endl; //使用全局iNum cout << MyName::Add(10)+iNum << endl; //使用全局iNum namespace N2 = YourName; cout << N2::Add(10)+N2::iNum << endl; //表示使用的是YourName命名空间 using namespace YourName; //使用using关键字。 cout << Add(10)+MyName::iNum << endl; //由于有全局iNum,所以要使用限制, //而无全局Add,所以这里无需限定,系统知道调用YourName空间中的Add //cout << MyName::Add(10)+iNum << endl; //该语句编译错误,iNum出现二义性 }