home *** CD-ROM | disk | FTP | other *** search
/ Mastering Microsoft Visual C++ 4 (2nd Edition) / VisualC4.ISO / cpp / cmess.h < prev    next >
Encoding:
C/C++ Source or Header  |  1994-09-29  |  1.1 KB  |  50 lines

  1. // CMess.h: CMessage header file
  2.  
  3. #include <string.h>
  4. #include <iostream.h>
  5.  
  6. class CMessage
  7. {
  8. private:
  9.    char *Buffer;
  10.    
  11. public:      
  12.    CMessage ()                         // default constructor
  13.       {
  14.       Buffer = new char ('\0');
  15.       }
  16.    CMessage (const CMessage &Message)  // copy constructor
  17.       {
  18.       Buffer = new char [strlen (Message.Buffer) + 1];
  19.       strcpy (Buffer, Message.Buffer);
  20.       }
  21.    CMessage (const char *String)       // conversion constructor
  22.       {
  23.       Buffer = new char [strlen (String) + 1];
  24.       strcpy (Buffer, String);
  25.       }
  26.    ~CMessage () 
  27.       {
  28.       delete [] Buffer;        
  29.       }   
  30.    void Display ()               
  31.       {
  32.       cout << Buffer << '\n'; 
  33.       }
  34.    void Set (char *String)
  35.       {
  36.       delete [] Buffer;
  37.       Buffer = new char [strlen (String) + 1];
  38.       strcpy (Buffer, String);
  39.       }
  40.    CMessage & operator= (const CMessage &Message)
  41.       {
  42.       if (&Message == this)
  43.          return *this;
  44.       delete [] Buffer;
  45.       Buffer = new char [strlen (Message.Buffer) + 1];
  46.       strcpy (Buffer, Message.Buffer);
  47.       return *this;
  48.       }
  49. };
  50.