#ifndef NUMBER_H #define NUMBER_H #include #include "packedintarray.h" class Number { public: Number( int iOrd=0 ); Number( const Bu::String &sData, int iOrd=0 ); virtual ~Number(); Number &operator=( const Bu::String &sNum ); Number operator+( const Number &rhs ) const; Number operator-( const Number &rhs ) const; Number operator*( const Number &rhs ) const; Number operator/( const Number &rhs ) const; Number operator-() const; bool operator==( const Number &rhs ) const; bool operator!=( const Number &rhs ) const; bool operator>( const Number &rhs ) const; bool operator<( const Number &rhs ) const; bool operator>=( const Number &rhs ) const; bool operator<=( const Number &rhs ) const; void set( const Bu::String &sNum ); operator Bu::String() const { return aInt.toString(); } Bu::String toString() const; int digit( int iOrder ) const; private: Number add( const Number &rhs, bool bSub ) const; private: int iOrd; bool bPositive; PackedIntArray aInt; }; #endif