#include <iostream>usingnamespacestd;
int a = 1000;//全局变量namespace N1
{
int a = 10;
}
namespace N2
{
int a = 1;
}
int main()
{
int a = 100;
cout << a << endl;//不加命名空间名的话,按照就近原则cout << N1::a << endl;//访问N1命名空间中的acout << N2::a << endl;
cout << ::a << endl;//访问全局命名空间中的areturn0;
}
方式二:
namespaceN1
{int a = 10;
int b = 20;
int add(int a, int b)
{
return a + b;
}
}
using N1::a;//将命名空间N1中的a全局化namespaceN2
{void print()
{
cout << a << endl;
}
}
int main()
{
cout << a << endl;
N2::print();
}
方式三:
namespace N1
{
int a = 10;
int b = 20;
int add(int a, int b)
{
return a + b;
}
}
usingnamespace N1;//将命名空间N1中的所有成员全局化namespace N2
{
void print()
{
cout << a << endl;
}
}
int main()
{
cout << a << endl;
cout << "a + b = " << add(a, b) <<endl;
}