是单用一个头文件,然后创建一个namespace在里面实现申明与定义,还是单放申明,然后实现在其他文件中?
2 回答
aluckdog
TA贡献1847条经验 获得超7个赞
一般的用法是在头文件中用namespace进行组织,避免多个模块中出现名字冲突,当然其中既可以有声明也可以有定义,如:
1、头文件如下:
#include <iostream>
using namespace std;
namespace mynamespace
{
class A
{
public:
A(){cout << "Construction A" << endl;}//构造函数定义
~A(){cout << "Destruction A" << endl;}//析构函数定义
void print();//成员函数声明
}
}
2、源文件如下:
#include "头文件.h"
using namespace mynamespace;//引用自己定义的命名空间
void A::print()//成员函数定义
{
cout << "print function." << endl;
}
慕斯709654
TA贡献1840条经验 获得超5个赞
不一定要用头文件,namespace里面可以放申明也可以放定义,它只是为了防止不同模块中的变量或函数名 重名的问题
例如:
namespace A
{
...
int fun(){};//注意函数名相同,定义不一定相同
...
}
namespace B
{
...
int fun(){};//注意函数名相同,定义不一定相同
...
}
有名称空间域以后加上前缀就可以加以区分
在C++中,是这样访问的
A::fun();//表示访问A中的fun()函数
B::fun();//表示访问B中的fun()函数
- 2 回答
- 0 关注
- 271 浏览
添加回答
举报
0/150
提交
取消