12345678910111213141516171819202122232425262728293031323334353637 |
- // string1.h -- fixed and augmented string class definition
- #ifndef STRING1_H_
- #define STRING1_H_
- #include <iostream>
- using std::ostream;
- using std::istream;
- class String
- {
- private:
- char * str; // pointer to string
- int len; // length of string
- static int num_strings; // number of objects
- static const int CINLIM = 80; // cin input limit
- public:
- // constructors and other methods
- String(const char * s); // constructor
- String(); // default constructor
- String(const String &); // copy constructor
- ~String(); // destructor
- int length () const { return len; }
- // overloaded operator methods
- String & operator=(const String &);
- String & operator=(const char *);
- char & operator[](int i);
- const char & operator[](int i) const;
- // overloaded operator friends
- friend bool operator<(const String &st, const String &st2);
- friend bool operator>(const String &st1, const String &st2);
- friend bool operator==(const String &st, const String &st2);
- friend ostream & operator<<(ostream & os, const String & st);
- friend istream & operator>>(istream & is, String & st);
- // static function
- static int HowMany();
- };
- #endif
|