#ifndef __Long #define __Long #include "SimpleNumber.hh" // forward declarations class Integer; class Long; class LargeInt; class Complex; class Imaginary; class Long: public SimpleNumber { public: Long( ); ~Long( ); Long( long val ); virtual NumberRep* operator+ ( const NumberRep& n ) const; virtual NumberRep* operator- ( const NumberRep& n ) const; virtual NumberRep* operator- ( ) const; bool operator ==( Long& n ) const; long getValue( ) const; protected: virtual NumberRep* addInt( const Integer& n ) const; virtual NumberRep* addLong( const Long& n ) const; virtual NumberRep* addLargeInt( const LargeInt& n ) const; virtual NumberRep* addComplex( const Complex& n ) const; virtual NumberRep* addImaginary( const Imaginary& n ) const; virtual NumberRep* subsInt( const Integer& n ) const; virtual NumberRep* subsLong( const Long& n ) const; virtual NumberRep* subsLargeInt( const LargeInt& n ) const; virtual NumberRep* subsComplex( const Complex& n ) const; virtual NumberRep* subsImaginary( const Imaginary& n ) const; virtual SimpleNumber* clone( ) const; private: long value; }; #endif // __Long