// STRING.H // Definition of a String class #ifndef STRING_H #define STRING_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 int operator!() const; // is String empty? int operator==(const String &) const; // test s1 == s2 int operator!=(const String &) const; // test s1 != s2 int operator<(const String &) const; // test s1 < s2 int operator>(const String &) const; // test s1 > s2 int operator>=(const String &) const; // test s1 >= s2 int 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