0

重複の可能性:
C++ では、ヘッダー ファイルと cpp ファイルがあるのはなぜですか?

基本的なプラズマ ウィジェットやその他の QT を作成するための KDE チュートリアルを読んでいました。私が気づいたことの 1 つは、ほとんどすべてのプログラムにcpp ファイル.h.cppヘッダー ファイルが含まれていることです。

私が得た基本的なことは、ファイル内の混乱を最小限に抑え、コードを読みやすくすることです。

私の質問は、プログラムを作成する際に .h ファイルと .cpp ファイルに何を入れるべきか、それがコードの改善にどのように役立つかということです。

たとえば、add.h、add.cpp、pass.cpp の 3 つのファイルを作成しました。add.h には機能があり、他の 2 つのファイルには定義があります。

Add.h

#include <iostream>

using namespace std;

int add (int x,int y);

Add.cpp

#include "add.h"

int main() {

    add (int x, int y) {

    int z = x+y;

    cout<<"Add is "<<"\t"<<z;

    }
return 0;
}

パス.cpp

#include "add.h"


add (3,4);

ただし、ここの回答から判断すると、これは機能しません 。C++ にヘッダー ファイルと .cpp ファイルがあるのはなぜですか?

add.h の内容は自動的にコピーされますが、いくつかのエラーが発生します。

4

3 に答える 3

3

主な理由は、複数の .cpp ファイルから .h を含めて、モジュール/クラス間でコードの共有を促進できることです。

非常に単純なアプリの場合 (例: "hello world" の場合、.cpp と .h に分割してもあまりメリットはありません)

于 2012-09-02T10:09:43.857 に答える
2

ファイルで定義したものに、他の翻訳単位から定期的にアクセスする必要があります。.cppそれらの他の翻訳単位は、アクセスできるものを知る必要があるため、それらのものは他の翻訳単位で宣言する必要があります。ヘッダー ファイルに宣言を入れるということは、宣言された要素へのアクセスが必要なすべての翻訳単位で宣言を複製するのではなく、他の翻訳単位に宣言を含めることができることを意味します。

于 2012-09-02T10:09:22.867 に答える
2

すべての関数を".cpp"ファイルに完全に記述し、最初にプログラムに記述します。".h"ファイルには、関数の宣言である proptype だけを記述します。プログラムの最後にこの".h"ファイルを作成します。また、各関数プロトタイプの最後にセミコロン (;) を書くことを忘れないでください。

これは優れたプログラミング手法であり、これらの個別のファイルに一度コードを記述すれば、プロジェクト全体または他の任意の数のファイルでそれらのコードを使用できるという利点があります。

ファイル"myProgram.cpp"myProgram.h. #include "myProgram.cpp".

ファイルに多数の関数と宣言がある場合にうまく機能します。コードが小さい場合は、これらの個別のファイルを作成する必要はありません。

于 2012-09-02T10:11:16.943 に答える