#ifndef ABSTR_H #define ABSTR_H /////////////////////////////////////////////////////////////// // Abstr.h -- Example of Bridge Design Pattern // // using a manufacturing analogy // // ver 1.0 // // Language: Visual C++, ver 6.0 // // Platform: Dell XPS1000r, Windows 2000 Professional // // Application: Design Patterns Presentation, Summer 2001 // // Author: Jim Fawcett, CST 2-187, Syracuse Univ. // // jfawcett@twcny.rr.com // // Source: John DeMar, Link 210, Syracuse Univ. // // jsdemar@syr.edu // /////////////////////////////////////////////////////////////// class ProductionLine; class MakeAssembly { public: MakeAssembly( ProductionLine* i ):_imp(i) {}; virtual void Load(void)=0; virtual void Fabricate(void)=0; virtual void Test(void)=0; virtual void Unload(void)=0; virtual ~MakeAssembly() {} protected: ProductionLine* _imp; }; class MakeType1Assembly : public MakeAssembly { public: MakeType1Assembly( ProductionLine* i ): MakeAssembly(i){}; ~MakeType1Assembly( void ){}; virtual void Load(void); virtual void Fabricate(void); virtual void Test(void); virtual void Unload(void); }; class MakeType2Assembly : public MakeAssembly { public: MakeType2Assembly( ProductionLine* i ): MakeAssembly(i){}; ~MakeType2Assembly( void ){}; virtual void Load(void); virtual void Fabricate(void); virtual void Test(void); virtual void Unload(void); }; #endif