HOWTO · C++

C++ の複数のコード ファイル

このチュートリアルは、単一の C++ プログラムで複数のファイルを使用することについてです。 大きくて長いプロジェクトでは、すべてのコードを 1つのファイルに記述するのは面倒です。 そのため、プロジェクト内のファイルを分離し、プロジェクトをより管理しやすく、リファクタリングしやすくする方法を学びます。

このページの内容

このチュートリアルでは、単一の C++ プログラムで複数のファイルを使用する方法について説明します。 大きくて長いプロジェクトでは、すべてのコードを 1つのファイルに記述するのは面倒なので、プロジェクト内のファイルを分割して、管理しやすくリファクタリングしやすくする方法を学びます。

プログラミングのキャリアのこの時点まで、すべてのコードを 1つのファイルに記述してきました。 メイン関数、プロトタイプ、システム関数、追加関数など、すべてが含まれていました。

これは、(大規模な) プログラミング プロジェクトを組み立てる最良の方法ではありません。 プログラミング プロジェクトを複数のファイルに分割して、より整理され、安全で、移植性があり、変更可能で、再コンパイルが高速になる方法を学習します。

これには多くの理由がありますが、時間と情報が多すぎるため、詳細を説明することはできません.

C++ プログラムで複数のコード ファイルを使用する

すべてを 1つのファイルにまとめたサンプル ファイルから始めて、そのファイルを分離します。

コード例:

#include <iostream>
using namespace std;

void helloFunc();
int main() {
  helloFunc();
  return 0;
}
void helloFunc() { cout << "Hello World" << endl; }

このコード スニペットでは、最初に helloFunc() 関数を宣言し、プログラムの後の段階でそれを定義したことがわかります。 次に、main 関数を記述しました。

これは、3つのファイルで実行できます。 ヘッダー ファイルで関数を宣言し、cpp ファイルで定義します。

コード例 (hello.h):

#include <iostream>
using namespace std;

void helloFunc();

コード例 (hello.cpp):

#include "hello.h"
void helloFunc() { cout << "Hello World" << endl; }

コード例 (main.cpp):

#include "hello.h"

int main() {
  helloFunc();
  return 0;
}

ヘッダーファイル hello.h から始めましょう。 ヘッダー ファイルには、関数の定義、struct または class の定義、定数の定義など、すべての定義が含まれています。

この .h 拡張子は、このファイルがコンパイルされないことをコンパイラーに伝えます。 これはテキスト ファイルのようなもので、誰でも読み取ることができます。 これは、ヘッダー ファイルがドキュメント ファイルであることを意味します。

プログラマーが将来いくつかの関数を使用したい場合、関数のプロトタイプを確認するだけでよく、関数定義について詳しく調べる必要はありません。 最後に、テンプレート コードもヘッダー ファイルに含める必要があります。

ここで、ヘッダー ファイルで宣言された関数定義を含む cpp ファイルが作成されます。 CPP ファイルは、このファイルをコンパイルしてバイナリ ファイルに変換することをコンパイラに伝えます。

あなたのコードの完全性は保護されており、あなたの許可なしに他の人がコードを変更することはできません。 これは、このコードの分離により、コード ファイルのセキュリティも保証されることを意味します。

この手法の背後にあるもう 1つの理由は、移植性です。 たとえば、後で他の多くのプログラムで使用できるバイナリ検索コードを作成したとします。 これらの関数用の個別のファイルがあれば、そのような関数を他のプロジェクトで簡単に使用できます。

最後に、main ファイルには main 関数のみが含まれ、先頭にヘッダー ファイルが含まれています。 このファイルには main 関数のみが含まれており、すべての関数を呼び出すだけで他には何もありません。