2012-04-25 47 views
0

我目前有一個項目有3個文件。我應該如何區分項目中的函數,類定義和主代碼?

,其包括一個DBheader.h頭文件:

  • 類聲明(用它們的較小的成員函數定義)

DBdefinitions.cpp文件與:

  • 更大的成員函數定義DBheader.h

和最後一個DBmain.cpp文件,其中包含:

  • 主代碼
  • 使用在DBheader.h

定義的類我將優選要移動一些大型(非memeber)功能這些功能在某處使我的文件更少混亂。我應該/可以將它們移動到DBdefinition.cpp文件還是需要爲非成員函數創建一個新的單獨的.cpp文件?

這是粗略的我的代碼看起來像如果上述不清楚。

//DBheader.h 

//libraries.. 

class course{ 
//member data.. 

void printinfo(); 

} 

-

//DBdefinitions.cpp 

#include "DBheader.h" 
void course::printinfo(){/*do stuff*/} 

-

//DBmain.cpp 

#include "DBheader.h" 
typedef map<int,course> record; 
void fileinput(record &map); 
int main(){ 
//stuff 
} 
void fileinput(record &map){ 
//lots of code 
} 
+0

不過你喜歡。 – 2012-04-25 18:49:28

回答

1

你應該組織是在你使用的class定義類似的方式公開接口的一部分免費功能:頭與聲明和實現文件。

如果它們特定於特定的翻譯單元,請將它們保留在該實施文件中。

所有免費功能應在namespace(以公開名稱命名,匿名爲「私人」免費功能)內聲明。

+0

對。感謝您的建議。 – QuantumO 2012-04-26 09:08:51

相關問題