home *** CD-ROM | disk | FTP | other *** search
- // ex08008.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); }
- };
-
- 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();
- }