クラス「Factory」をテンプレート化しました。factory のプロトタイプは次のようなものです。
template <class T>
class Factory
{
public:
Factory();
~Factory();
//few more functions & data-members
private:
//few more functions & data-members
};
main() では、次のように複数のタイプのファクトリを作成します --
int main()
{
typedef Factory<int> IntFactory ;
IntFactory A = IntFactory();
typedef Factory<float> FloatFactory ;
FloatFactory B = FloatFactory();
//Complex is some user defined class
typedef Factory<Complex> ComplexFactory ;
ComplexFactory C = ComplexFactory();
//Point3D is a user defined class
typedef Factory<Point3D> Point3DFactory ;
Point3DFactory D = Point3DFactory();
//I may have several such initializations.
}
問題は、オブジェクト A、B、C、D の配列を反復処理する場合にどのように作成するかです。