// STRING2.H // Definition of a String class #ifndef STRING1_H #define STRING1_H #include /**************************************************************************** * * * ****************************************************************************/ class String { friend ostream &operator<<( ostream &, const String & ); friend istream &operator>>( istream &, String & ); public: String( const char * = "" ); // conversion constructor String( const String & ); // copy constructor ~String(); // destructor const String &operator=( const String & ); // assignment String &operator+=( const String & ); // concatenation bool operator!() const; // is String empty? bool operator==( const String & ) const; // test s1 == s2 bool operator!=( const String & ) const; // test s1 != s2 bool operator<( const String & ) const; // test s1 < s2 bool operator>( const String & ) const; // test s1 > s2 bool operator>=( const String & ) const; // test s1 >= s2 bool operator<=( const String & ) const; // test s1 <= s2 char &operator[]( int ); // return char reference String &operator()( int, int ); // return a substring int getLength() const; // return string length private: char *sPtr; // pointer to start of string int length; // string length }; #endif /**************************************************************************** * * * ****************************************************************************/