home *** CD-ROM | disk | FTP | other *** search
/ Turbo Toolbox / Turbo_Toolbox.iso / dtx9202 / borhot / craigtat.cpp < prev    next >
C/C++ Source or Header  |  1992-01-06  |  2KB  |  59 lines

  1. /* ------------------------------------------------------ */
  2. /*                  CRAIGSTAT.CPP                         */
  3. /*            (c) 1990 Borland International              */
  4. /*                 All rights reserved.                   */
  5. /* ------------------------------------------------------ */
  6. /*  veröffentlicht in: DOS toolbox 2'92                   */
  7. /* ------------------------------------------------------ */
  8.  
  9. /*
  10.   When declaring an instance of a class with the intention
  11.   of invoking the default constructor the syntax is:
  12.  
  13.         MyClass Object; not MyClass Object();
  14. */
  15.  
  16. #include <iostream.h>
  17. #include <string.h>
  18.  
  19. class MyClass {
  20.   char *myString;
  21. public:
  22.   MyClass( char* dfault="default string") {
  23.     myString = strdup( dfault );
  24.   }
  25.   ~MyClass(){
  26.     delete myString;
  27.   };
  28.   void Display()
  29.   {
  30.     cout<<myString<<endl;
  31.   };
  32. };
  33.  
  34. // ------------------------------------------------------- *
  35. int main(void)
  36. {
  37.   MyClass Obj1;        // default constructor is called
  38.  
  39.   /*
  40.      Here we are NOT invoking the constructor that takes no
  41.      arguments instead we are declaring a function 'Obj2'
  42.      that takes no arguments and returns an object of type
  43.      'MyCass'. We will get no error message here -- only
  44.      later when we try to use it as a class.
  45.   */
  46.   MyClass Obj2();
  47.  
  48.   Obj1.Display();      // Works like a champ!
  49.  
  50.                        // Error: Left side must be a
  51.                        // structure in function main()
  52.   Obj2.Display();
  53.  
  54.   return 0;
  55. } // end of main()
  56. /* ------------------------------------------------------ */
  57. /*                 Ende von CRAIGTAT.CPP                  */
  58.  
  59.