     

          
.       ,  ,  
   ; ,      
     ..      
 (,    ,     ), 
   . 

      operator+()    . , 
operator+()     .      
feeblewitzO  operator+(),      : 

    feeblewitz(a, b); 

           ZZ.  feeblewitz  operatof+,   
     : 

    operator+(a, d);	//  feeblewitz(a, b) 

           ,   
 . ,   ,  operator+()   
  ,     . ,  
    : 

     + ;	//  operator+(a,  b),1 

      + b  operator+(a, b)         
      .      
     .      C++  
,      .       
  ,      . 
      ,     , 
   .   15.4  , 
      .    
    ,     
       . 

     15.4.  STROPS.CPP (  ) 

    1:	#include <iostream.h> 
    2:	#include <stdlib.h> 
    3:	#include <string.h> 
    4: 
    5:	class TStrOp { 
    6:	private: 
    7:	   char value[12]; 
    8:	public: 
    9:	   TStrOp() { value[0] = 0;  } 
    10:	   TStrOp(const char *s); 
    11:	   long GetValue(void) { return atol(value);  > 
    12:	   friend long operator+(TStrOp a,  TStrOp b); 
    13:	   friend long operator-(TStrOp a,  TStrOp b); 
    14:	}; 
    15: 
    16:	main() 
    17:	{
    18:	TStrOp a = "1234"; 
    19:	TStrOp b = "4321";
    20: 
    21:	cout  "\nValue of a == "  a.GetValue(); 
    22:	cout  "\nValue of b == "  b.GetValue(); 
    23:	cout  "\na + b + 6 == "  (a + b + 6); 
    24:	cout  "\na - b + 10 == "  (a + b + 10) 
    25:	 "\n" ; 
    26:	return 0; 
    27:	} 
    28: 
    29:	TStrOp::TStrOp(const char *s) 
    30:	{ 
    31:	  strncpy(value, s, 11): 
    32:	  value[11] = 0; 
    33:	}
    34: 
    35:	long operator+(TStrOp a,  TStrOp b) 
    36:	{ 
    37:	  return (atol(a,value) + atol(b.value)); 


     15.   C++     373 
