++


         

- 3


// ...

private:

// ...

};

:

#include <cstring>

inline String& String::operator+=( const String &rhs )

{

// , rhs,

if ( rhs._string )

{

String tmp( *this );

// ,

//

_size += rhs._size;

delete [] _string;

_string = new char[ _size + 1 ];

//

// , rhs

strcpy( _string, tmp._string );

strcpy( _string + tmp._size, rhs._string );

}

return *this;

}

inline String& String::operator+=( const char *s )

{

// s

if ( s )

{

String tmp( *this );

// ,

//

_size += strlen( s );

delete [] _string;

_string = new char[ _size + 1 ];

//

// C-, s

strcpy( _string, tmp._string );

strcpy( _string + tmp._size, s );

}

return *this;

}