私はこの特定の答えを見つけることができませんでした.-hファイルにはクラス宣言があり、.cppファイルには実装が保持されています。クラスの宣言と実装の場所がC++で混乱しています
これは繰り返しなしでどのように行われるのか混乱します。
私がクラスのAnimalを持っていれば、それはプログラムのいくつかの領域で呼び出されるかもしれません。だから、実装を何度も書き直さなければならないように思えるでしょう(間違いなく、私は誤解されています)。
特定のクラスを使用するたびに.h宣言と.cpp暗示を含めるのはちょっとうんざりです(私は何かを誤解しているという証拠)。
私は宣言と実装を分離するというテーマでどこが間違っていますか?
私はこの時間にPHPとPythonをやっていましたので、それは私を混乱させる事前の習慣かもしれません。
なぜ実装を書き直す必要がありますか?クラスを必要とするところにヘッダーを '#include'するだけです。 – melpomene
#includeの目的を明確に理解する必要があります。 [ここをクリック](https://en.wikipedia.org/wiki/Include_directive)またはGoogleのボックスを使用してください... – RamblinRose
これはC++のトリッキーな側面です。要約すると、少し簡略化された** "1つの定義ルール" **と呼ばれるC++には、すべてのオブジェクトファイル(C++標準の '翻訳単位'と呼ばれます)には1つの宣言しかない同じクラスに対してクラス宣言が発生した場合は、ACROSS変換ユニットは同一でなければなりません。これにより、プログラマは、クラス宣言のコードをヘッダファイルに一度書き込んで、ソースファイル全体に再利用することができます。 –