next up previous
Objektpersistenz und ERZEUGER-Pattern


Weiterer Klassenentwurf

Rightarrow
verschiedene Konstruktoren:
Verbindung einer IOFactory mit fertig konstruierten Streams oder
Übergabe von Filenamen; eigenständige Herstellung der Stream-Objekte in IOFactory; Verantwortlichkeit!
Rightarrow
besonders beachten: Implementation der CreateGeoObj()-Methoden:
 
// File: IOFactry.cc

#include <IOFactry.h>
#include <GeoObj.h>

// ...
GeoObj* IOFactory::CreateGeoObj()
{
  if(pIStream && (*pIStream))
  {
    String TypeString;
    (*pIStream) >> TypeString;
   
    if(TypeString != "") 
      return CreateGeoObj(TypeString);
    else
      return NULL;
  }
  else
  {
    cerr << "Have no istream; returning NULL" << endl;
  }

  return NULL;
}
// ...


next up previous