2016-07-19 177 views
0

Folk,C++命名空間聲明和定義

我在一個文件中創建了一個名稱空間,但我該如何區分定義和聲明? 我可以創建一個.h的聲明和一個.cpp的定義就像在一個類的文件集?如果是,那麼,是否需要在我的新程序中包含名稱空間頭文件,還是使用namspace mynamespace足夠?

+0

是的,您可以創建一個.h的聲明和一個.cpp的定義。只需將名稱空間添加到兩個文件 – DimChtz

+0

到第一個包的時間:兩個單詞。 – user4581301

+1

如果您計劃在每個地方堅持使用mynamespace;那麼所有名稱都將在全局名稱空間中結束,因此不要打擾名稱空間 - 只需將名稱放在全局名稱空間中就可以開始。 –

回答

2

任何體面的C++書應該涵蓋命名空間和代碼分離。

嘗試這樣:

myfile.h

#ifndef myfile_H 
#define myfile_H 

namespace myns 
{ 
    class myclass 
    { 
    public: 
     void doSomething(); 
    }; 
} 

#endif 

MYFILE.CPP:

#include "myfile.h" 

void myns::myclass::doSomething() 
{ 
    //... 
} 

然後你就可以使用它像這樣:

#include "myfile.h" 

myns::myclass c; 
c.doSomething(); 

或者:

#include "myfile.h" 

using namespace myns; 

myclass c; 
c.doSomething(); 
+0

我該如何使用它?我是否將myfile.h包含在我的項目中,還是繼續使用namspace myns進行調用? – Pototo