以下のような工場があるとします。ObjectA.h と ObjectB.h を含めないことが可能かどうかを知りたいです。
ディレクトリ構造
ファクトリー
|-----オブジェクト A
|-----オブジェクト B
サブディレクトリにヘッダー ファイルを含めたくないので、そうする方法はありますか? また、新しい objectC があれば、ファクトリ クラスを変更する必要はありません。タイプが「TypeC」の場合、ObjectC が自動的に作成されます。
#include "ObjectA.h"
#include "ObjectB.h"
object* create(const string& type)
{
if (type == "typeA")
{
return new ObjectA();
}
else
{
return new ObjectB();
}
};