いいえ、派生クラスのヘッダーファイルは自動的には含まれません。しかし、幸いなことに、ほとんどの場合、派生クラスのヘッダーファイルはまったく含まない必要があります。異なるシェイプオブジェクトを作成するコードでは、円と三角形について知る必要がありますが、ほとんどの場合、 (例えば)形状を描画するコードでは、単に与えられる形状のどんな種類のものであれ、正しいことをする仮想関数draw
を単に呼び出すことができます。仮想関数は、コールシェイプのdraw
関数が、コールの行われたファイルにヘッダファイルが含まれていなくても、サークルとトライアングルのオーバーライドバージョンを正しく呼び出すように実装されています。
円や三角形(したがってヘッダーファイルを含める必要がある)があるかどうかをコードで定期的に確認する必要がある場合は、おそらくシェイプクラスのインターフェイスの問題を指摘します。その場合、シェイプをもう一度見て、仮想関数を呼び出すことができるようにシェイプを変更して、各シェイプの正しいインプリメンテーションをコンパイラーが並べ替えることができるかどうかを確認する必要があります。
多くの場合、一緒に組み込みたいヘッダーファイルを一杯にするというより一般的な問題のために、他のすべてのヘッダーファイルを含む単一のヘッダーファイルを作成すると、簡単に作業できます。たとえば、shape_library.h
を作成し、そこにさまざまなシェイプヘッダーすべてに対して#include
を入力します。そうすれば、その他にはshape_library.h
を含めることができ、ヘッダーが再配置される場合は、変更する場所が1つしかありません。
'#include'は、その行にすべてのテキストを挿入するように動作します。 –
クラスは含まれません。あなたはファイルを含んでいます。 –
独自のヘッダをインクルードするには '' 'を使い、システムヘッダだけに' <'を使います –