私はたくさんのクラスを持っています、そしてそれらは次のように互いに非常に近いです
class A
{
//code
};
class B
{
A* field;
//code
};
class C: public B
{
//code
};
等々。A.h
そして、それらを別々のヘッダー( 、 ...)に配置したいのですB.h
が、このヘッダーをすべてプロジェクトに追加しないようにするには、のようなmyLib.h
ヘッダーが必要です。これは、作成したすべてのクラスを含めるために必要なヘッダーの1つにすぎません。どうすれば達成できますか?
#pragma once;
また、使用せず、機能させると思います
#ifndef _MY_LIB_H
#define _MY_LIB_H
#endif
どこに置けばいいですか?すべてのヘッダーで?
私はそれを次のようにやってみました
class A;
class B;
...
のmyLib.h
ただし、に追加myLib.h
するmain.cpp
だけでは、そこでAまたはBオブジェクトを使用するのに十分ではありません。また、その中B.h
で
#inlude myLib.h
void someMethod()
{
//field is instance of A
this.field.otherMethod();
}
A.h
Aのメソッドはではなく、で宣言されているため、エラーが発生しますmyLib.h
。
長く絡み合った質問でごめんなさい。