名字空间

#include<iostream>
#include<string>
using namespace std;
namespace a{ int x=6;int k=10;};
namespace b{ int x=2;int l=90;};
namespace c{ int y=3;int m=40;};

int main()
{

    //第一种访问方式。直接访问
    cout<<"a的x"<<a::x<<endl<<"b的x"<<b::x<<endl;
    //利用空间名称+对象名称来说明对象
    //cout<<k<<endl;只能访问x,而不能访问k
    
    //第2种访问方式
    using b::x;//b的x成为局部变量
    cout<<x<<endl; //输出的是b的x
    //int x=4; 和前面b的冲突
    //cout<<l<<endl;同样只使x成为局部变量,而l还是隐藏着
    
    //第三种访问方式
    //cout<<y<<endl;直接输出y错误,因为还隐藏着
    using namespace c;//使c不在隐藏
    cout<<y<<endl;
    cout<<m<<endl;;
    int y=100;//还可以定义y
    cout<<y<<endl;//输出的是新定义的y
    return 0;
}
原文地址:https://www.cnblogs.com/cs1003/p/2816564.html