192                                             7. Ad hoc 

7.1.  

     ,   -
         -
.      C++     
   .    ,  -
   .

    ,       -
         -
.

my_string::my_string(const char* p) ;

      char*  
my_string.     ,   .   -
          -
. ,  

my_string s;

char* logo = "   .";

s = static_cast<my_string>(logo);

 

s = logo;     //  

 .  ,     
  (.  7.7,    
,. 202).

       
.         , 
 int  double.   ,    
  .     -  :

operator {) {      }

 -   .      
    .     -
 .                                                          

   my_string    my_string 
char*.     :

  string?.

my_string::operator char*()
^

char* p = new char[len + 1];

assert(p != 0) ;

strcpy(p, s) ;

return p;

}