別のヘッダーのファイルで宣言を転送することは合法ですか? 例えば:
#ifndef _MAIN_H_
#define _MAIN_H_
class ClassA;
class ClassB;
#include "classa.h"
#include "classb.h"
#endif
#ifndef _CLASSA_H_
#define _CLASSA_H_
#include "main.h"
class ClassA
{
public:
ClassB b;
};
#endif
#ifndef _CLASSB_H_
#define _CLASSB_H_
#include "main.h"
class ClassB
{
public:
ClassA a;
};
#endif
クラス A とクラス B は互いに依存しており、どちらも別の型のオブジェクトを持っています。私がしたことは、別のファイルで両方のクラスを前方宣言することでした。これを行うためのきれいな方法はありますか?