2012-04-25 5 views
0

私は現在3つのファイルを持つプロジェクトを持っています。プロジェクト内の関数、クラス定義、メインコードをどのように分離する必要がありますか?

含むものDBheader.hヘッダファイル:

  • クラス宣言を(それらのより小さいメンバー関数定義を有する)と

DBdefinitions.cppファイルのための:

  • 大きなメンバ関数定義クラス内のクラスDBheader.h

、最終的には含まれていDBmain.cppファイル:私は、好ましくは、移動したい

  • メインコード
  • DBheader.h

で定義されたクラスを使用する一部の大規模な(非memeber)機能これらの機能は私のDBmain.cppファイルの煩雑さを軽減するためのものです。どうすればいいですか?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

しかし、あなたは好きです。 –

答えて

1

あなたはclass定義のために使用される同様の方法で、パブリックインターフェイスの一部である自由な機能を整理する必要があります:ヘッダをして宣言と実装ファイルを実装しています。

特定の翻訳単位に固有のものであれば、その実装ファイルに保管してください。

すべてのフリー関数は、namespace(パブリックの場合は名前付き、「プライベート」のフリー関数の場合は匿名)の中で宣言する必要があります。

+0

右。アドバイスありがとう。 – QuantumO

関連する問題