home *** CD-ROM | disk | FTP | other *** search
/ CD Actual 13 / CDA13.ISO / cdactual / demobin / share / program / C / ANSICPP.ZIP / EX08008.CPP < prev    next >
Encoding:
C/C++ Source or Header  |  1990-07-24  |  637 b   |  34 lines

  1. // ex08008.cpp
  2. // Overloaded [] operator
  3. #include <iostream.h>
  4. #include <string.h>
  5.  
  6. class String    {
  7.     char *sptr;
  8. public:
  9.     String(char *);
  10.     ~String() { delete sptr; }
  11.     void display() { cout << '\n' << sptr; }
  12.     char& operator[] (int n) { return *(sptr + n); }
  13. };
  14.  
  15. String::String(char *s)
  16. {
  17.     sptr = new char[strlen(s)+1];
  18.     strcpy(sptr, s);
  19. }
  20.  
  21. main()
  22. {
  23.     String mystring("The Ides of March");
  24.     mystring.display();
  25.     cout << '\n' << mystring[4];
  26.     mystring[4] = '1';
  27.     mystring[5] = '5';
  28.     mystring[6] = 't';
  29.     mystring[7] = 'h';
  30.     mystring.display();
  31.     strncpy(&mystring[4], "21st", 4);
  32.     mystring.display();
  33. }
  34.