#ifndef __ROMAN_H #define __ROMAN_H #ifndef __OBJECT_H #include #endif class TRoman : public TObject { word _value; protected: word ctoi(char c) const; const char * itor(word) const ; word rtoi (const char *) const ; void print_on (ostream& of) const { of << itor(_value) ; } public: operator const char * () const { return itor(_value); } operator word() const { return _value; } TRoman& operator = (const TRoman& rom) { _value = rom._value; return *this; } TRoman& operator = (word num) { _value = num; return *this; } TRoman& operator = (const char * val) { _value = rtoi(val); return *this;} TRoman (int num = 0) { *this = num; } TRoman (const char * val = "") { *this = val; } virtual ~TRoman () {} }; #endif