2 回答

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;
}

TA貢獻1840條經驗 獲得超5個贊
不一定要用頭文件,namespace里面可以放申明也可以放定義,它只是為了防止不同模塊中的變量或函數名 重名的問題
例如:
namespace A
{
...
int fun(){};//注意函數名相同,定義不一定相同
...
}
namespace B
{
...
int fun(){};//注意函數名相同,定義不一定相同
...
}
有名稱空間域以后加上前綴就可以加以區分
在C++中,是這樣訪問的
A::fun();//表示訪問A中的fun()函數
B::fun();//表示訪問B中的fun()函數
- 2 回答
- 0 關注
- 325 瀏覽
添加回答
舉報