home *** CD-ROM | disk | FTP | other *** search
/ The World of Computer Software / World_Of_Computer_Software-02-385-Vol-1of3.iso / s / sep91.zip / 9N09094A < prev    next >
Text File  |  1991-07-17  |  911b  |  45 lines

  1.  
  2. #include <stdio.h>
  3. #include <string.h>
  4.  
  5. class String
  6.     {
  7. public:
  8.     String(const char *s)
  9.         {
  10.         len = strlen(s);
  11.         str = strcpy(new char[len + 1], s);
  12.         }
  13.     String(const String &s)
  14.         {
  15.         len = s.len;
  16.         str = strcpy(new char[len + 1], s.str);
  17.         }
  18.     ~String() { delete str; }
  19.     size_t length() { return len; }
  20.     const char *text() { return str; }
  21.     void cat(char c)
  22.         {
  23.         char *p = strcpy(new char[len + 2], str);
  24.         p[len++] = c;
  25.         p[len] = '\0';
  26.         delete str;
  27.         str = p;
  28.         }
  29. private:
  30.     size_t len;
  31.     char *str;
  32.     };
  33.  
  34. int main()
  35.     {
  36.     String s1("hello");
  37.     String s2(s1);
  38.     printf("s1 = %s\n", s1.text());
  39.     printf("s2 = %s\n", s2.text());
  40.     s1.cat('!');
  41.     printf("s1 = %s\n", s1.text());
  42.     printf("s2 = %s\n", s2.text());
  43.     return 0;
  44.     }
  45.