00001 00005 #ifndef _FORCEABLE_H_ 00006 #define _FORCEABLE_H_ 00007 00008 #include "advanceable.h" 00009 00010 class Teacher; 00011 00014 00047 class Forceable : public Advancable { 00048 00049 public: 00050 00052 Forceable(void) { myTeacher = 0; } 00053 virtual ~Forceable(void){}; 00054 00056 virtual double nextstate(void)=0; 00057 00059 virtual void force(double y)=0; 00060 00062 virtual void output(void)=0; 00063 00065 inline int advance(void) { nextstate(); output(); return 1; } 00066 00068 virtual int addIncoming(Advancable *potentialTeacher); 00069 00071 Teacher *myTeacher; 00072 00073 }; 00074 00075 #endif