プロジェクトで初めて Visual C++ 2008 Express を使用しています。そして、私が書いているクラスの .h & .cpp ファイルを分割できないようです。ヘッダー ファイルを追加してそこにクラスのプロトタイプを作成し、実装を含む .cpp ファイルをソース ファイル ディレクトリに追加するという印象を受けました。次に、.h をインクルードすると、.cpp 実装ファイルが自動的にインクルードされます。これは正しいですか、何か不足していますか?
2 に答える
これが Express バージョンと同じかどうかはわかりません。ただし、プロジェクトを右クリックして、ヘッダー (.h) とソース (.cpp) を含む新しい C++ クラスを同時に追加することもできます -> [追加] -> [クラス...]
を使用して .h ファイルをインクルードして#include
も、実際の実装 (別の .cpp ファイル内) もソース ファイルにインクルードされるわけではありません。クラスとメソッドのプロトタイプである .h ファイルの内容のみが含まれます。これらのプロトタイプを使用すると、ヘッダー ファイルで宣言されたクラスを使用できます (実際の C++ コードを含める必要はありません)。
各ソース ファイル (.cpp) は、最初にオブジェクト ファイルにコンパイルされます。これらのオブジェクト ファイルはすべてリンクされ、単一の実行可能ファイルが作成されます。各オブジェクト ファイルで参照されるシンボルは、このリンク プロセス中に実際に実装にリンクされます ( http://www.cprogramming.com/compilingandlinking.html ) 。
ルールは覚えていませんが、IDE は、すべてのコードをヘッダー ファイルに入れていると想定することがあります。これは合法ですが、一般的な設定ではありません。