#ifndef FATALH #define FATALH #include using namespace std; //All fatal exceptions must be derived from this abstract class. class fatal { virtual void print(ostream&) const = 0; public: virtual ~fatal() {} friend ostream& operator<<(ostream& ost, const fatal& f) { f.print(ost); return ost; } }; #endif