2 回答

TA貢獻(xiàn)1847條經(jīng)驗(yàn) 獲得超7個(gè)贊
一般的用法是在頭文件中用namespace進(jìn)行組織,避免多個(gè)模塊中出現(xiàn)名字沖突,當(dāng)然其中既可以有聲明也可以有定義,如:
1、頭文件如下:
#include <iostream>
using namespace std;
namespace mynamespace
{
class A
{
public:
A(){cout << "Construction A" << endl;}//構(gòu)造函數(shù)定義
~A(){cout << "Destruction A" << endl;}//析構(gòu)函數(shù)定義
void print();//成員函數(shù)聲明
}
}
2、源文件如下:
#include "頭文件.h"
using namespace mynamespace;//引用自己定義的命名空間
void A::print()//成員函數(shù)定義
{
cout << "print function." << endl;
}

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