home *** CD-ROM | disk | FTP | other *** search
/ Liren Large Software Subsidy 7 / 07.iso / c / c063 / 1.ddi / EXAMPLES.ZIP / STRING.CPP < prev    next >
Encoding:
C/C++ Source or Header  |  1992-02-18  |  1.7 KB  |  65 lines

  1. // Borland C++ - (C) Copyright 1991 by Borland International
  2.  
  3. //STRING.CPP--Example from Getting Started */
  4.  
  5. #include <iostream.h>
  6. #include <string.h>
  7.  
  8. class String {
  9.    char *char_ptr;   // pointer to string contents
  10.    int length;       // length of string in characters
  11. public:
  12.    // three different constructors
  13.    String(char *text);           // constructor using existing string
  14.    String(int size = 80);        // creates default empty string
  15.    String(String& Other_String); // for assignment from another
  16.                                  // object of this class
  17.    ~String() {delete char_ptr;};
  18.    int Get_len (void);
  19.    void Show (void);
  20. };
  21.  
  22. String::String (char *text)
  23. {
  24.    length = strlen(text);  // get length of text
  25.    char_ptr = new char[length + 1];
  26.    strcpy(char_ptr, text);
  27. };
  28.  
  29. String::String (int size)
  30. {
  31.    length = size;
  32.    char_ptr = new char[length+1];
  33.    *char_ptr = '\0';
  34. };
  35.  
  36. String::String (String& Other_String)
  37. {
  38.    length = Other_String.length;       // length of other string
  39.    char_ptr = new char [length + 1];   // allocate the memory
  40.    strcpy (char_ptr, Other_String.char_ptr); // copy the text
  41. };
  42.  
  43. int String::Get_len(void)
  44. {
  45.    return (length);
  46. };
  47.  
  48. void String::Show(void)
  49. {
  50.    cout << char_ptr << "\n";
  51. };
  52.  
  53. main ()                                // test the functions
  54. {
  55.    String AString ("Allocated from a constant string.");
  56.    AString.Show();
  57.  
  58.    String BString;             // uses default length
  59.    cout << "\n" << BString.Get_len() << "\n" ; //display length
  60.    BString = "This is BString";
  61.  
  62.    String CString(BString);    // invokes the third constructor
  63.    CString.Show();             // note its contents
  64. }
  65.