15.1.2 定义名称空间
C++中定义名称空间的基本格式如下所示。
namespace名称空间名 { 变量类型变量; 函数返回类型函数原型; }变量可以是简单变量,也可以是复杂变量;函数的具体实现既可以在名称空间内,也可以在名称空间外,但在外部实现时,应指明其所属的名称空间,如代码15.1中两个名称空间的定义等价于如下代码。 namespace yaya//创建名称空间yaya { extern int num=1;//yaya中对num的定义性声明 class Ex//yaya中对Ex的类定义 { public: void hello(); }; } namespace abao//创建名称空间abao { extern int num=2;//abao中对num的定义性声明 class Ex//abao中对Ex的类定义 { public: void hello() { cout<<"This is abao"<<endl; cout<<num<<endl; } }; } namespace yaya//名称空间是开放的 { void Ex:hello() { cout<<"This is yaya"<<endl; cout<<num<<endl; } }
这说明,名称空间是开放的,可以根据需要随时将实体加入到名称空间中。