// File: GeoObj.h #ifndef GeoObj_h #define GeoObj_h 1 #include <iostream.h> #include <String.h> class AbstractFactory; class GeoObj { private: AbstractFactory* pFactory; // ... public: GeoObj(AbstractFactory* _pFactory = NULL) : pFactory(_pFactory){} virtual ~GeoObj(){}; // ... AbstractFactory* SetFactory(AbstractFactory*); AbstractFactory* GetFactory(); }; inline AbstractFactory* GeoObj::SetFactory(AbstractFactory* _pFactory) { AbstractFactory* pOld = pFactory; pFactory = _pFactory; return pOld; } inline AbstractFactory* GeoObj::GetFactory() { return pFactory; } #endif