您的位置:首页 > 编程语言 > C语言/C++

C++ 命名空间

2015-08-11 18:28 267 查看
我就是喜欢简简单单的表达。

使用命名空间的目的是对标识符的名称进行本地化,以避免命名冲突。Namespace 关键字的出现就是针对这种问题的。由于这种机制对于声明于其中的名称都进行了本地化,就使得相同的名称可以在不同的上下文中使用,而不会引起名称的冲突。我们也可以在自己的程序中创建自己的命名空间,这样可以对我们认为可能导致冲突的名称进行本地化。这点在我们创建类或者是函数库的时候是特别重要的。命名空间基础namespace 关键字使得我们可以通过创建作用范围来对全局命名空间进行分隔。本质上来讲,一个命名空间就定义了一个范围。定义命名空间的基本形式如下:namespace 名称{//声明}在命名空间中定义的任何东西都局限于该命名空间内。using关键字如果在程序中需要多次引用某个命名空间的成员,那么按照之前的说法,我们每次都要使用范围解析符来指定该命名空间,这是一件很麻烦的事情。为了解决这个问题,人们引入了using关键字。using语句通常有两种使用方式:using namespace 命名空间名称;using 命名空间名称::成员;
以上转载http://blog.chinaunix.net/uid-26874138-id-3215266.html=============================================================================文件:class.h
#ifndef __CLASS_H__
#define __CLASS_H__

#include <iostream>

using namespace std;

namespace Class{
class construction{
public:
int func();
};
int construction :: func(void)
{
cout << "Hi~\n";
return 0;
}
}

namespace Class2{
class construction{
public:
int func(void);
};
int construction :: func(void)
{
cout << "Hi2~\n";
return 0;
}
}
#endif /* __CLASS_H__ */

文件名:construction.cxx
#include "class.h"

int main(void)
{
Class :: construction con;
Class2 :: construction con2;

con.func();
con2.func();

return 0;
}


总结:一个命名一个空间,内容随意重复互补干扰。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  C++