home *** CD-ROM | disk | FTP | other *** search
- // ex08009.cpp
- // Overloaded [] operator
- #include <iostream.h>
- #include <string.h>
-
- class String {
- char *sptr;
- public:
- String(char *);
- ~String() { delete sptr; }
- void display() { cout << '\n' << sptr; }
- char& operator[] (int n) { return *(sptr + n); }
- char *operator+ (int n) { return sptr + n; }
- };
-
- String::String(char *s)
- {
- sptr = new char[strlen(s)+1];
- strcpy(sptr, s);
- }
-
- main()
- {
- String mystring("The Ides of March");
- mystring.display();
- cout << '\n' << *(mystring+4);
- *(mystring+4) = '1';
- *(mystring+5) = '5';
- *(mystring+6) = 't';
- *(mystring+7) = 'h';
- mystring.display();
- strncpy(mystring+4, "21st", 4);
- mystring.display();
- }