[C++ rudiment]名字空间 namespace

      名字空间是一种描述逻辑分组的机制。也就是说,如果有一些声明按照某种准则在逻辑上属于同一个集团,就可以将它们放在同一个名字空间,以表明这个事实。
      名字空间在C++中更多是用来避免类名的冲突,这在小的项目中可能看不出来,因为头文件和源文件比较少,类名冲突的概率比较小,但当你遇到一个很大的工程项目时,你就会认识到名字空间的使用还是很有必要的。
       不想讲的太复杂,就是仅仅在这里写一个例子好了。
 头文件nameA.h中定义了一个point类,然后把point类放在名字空间Anamespace中了。如下:

 1 #include <iostream>
 2 using namespace std;
 3 namespace Anamespace
 4 {
 5     class point
 6     {
 7     public:
 8         point()
 9         {
10             x = 10;
11             y = 10;
12         }
13         void showpoint()
14         {
15             cout<<x<<"  "<<y<<endl;
16         }
17     private:
18         int x;
19         int y;
20     };
21 };

源文件如下,注意:在包含头文件nameA.h后,也要在后面用using namespace Anamespace;这一句来表示使用名字空间Anamespace,否则会出现编译错误。

 1 #include <iostream>
 2 #include "nameA.h"
 3 using namespace Anamespace;
 4 using namespace std;
 5 int main()
 6 {
 7     point a;
 8     a.showpoint();
 9     return 0;
10 }


 

posted on 2009-06-13 14:12  笔记  阅读(307)  评论(0编辑  收藏  举报

导航