next up previous
Objektpersistenz und ERZEUGER-Pattern


 
// File: AbstFcry.h

#ifndef AbstractFactory_h
#define AbstractFactory_h 1

class GeoObj;

class AbstractFactory
{
private:
  enum{MAX = 1000};
  int Count;
  GeoObj* GeoObjs[MAX];
  AbstractFactory(const AbstractFactory&); // not allowed
  AbstractFactory& operator=(const AbstractFactory&);

protected:
  void _SaveGeoObj(GeoObj*);
 
public:
  AbstractFactory();
  virtual ~AbstractFactory();
  virtual GeoObj* CreateGeoObj() = 0;
  virtual operator void*() const = 0;      // can create more objects?
  virtual void CollectGeoObj(GeoObj*&);
};

#endif


next up previous