00001 #include "macros.h" // needs to be declared as first entry in .cpp or .h file! 00002 #ifndef __AbstractExercise__ 00003 #define __AbstractExercise__ 00004 #include <string> 00005 using namespace std; 00006 00013 class AbstractExercise { 00014 public: 00015 00019 AbstractExercise(); 00020 00026 AbstractExercise(string name); 00027 00031 virtual ~AbstractExercise(); 00032 00036 void start(); 00037 00043 inline string getName(){ return fName; } 00044 00045 protected: 00046 00051 virtual void getInput(); 00052 00057 virtual void execute(); 00058 00059 private: 00060 00065 void init(string name); 00066 string fName; 00067 }; 00068 00069 #endif