title: Compound assignment and add operator overloading
body: <p>I need help with both of my operator overloading functions presented below. I'm unsure of how I can implement this without actually using the assignment in the function definitions.</p>
  
  <p>Code for operator + in my .cpp file:</p>
  
  <pre><code>MyString&amp; MyString::operator +(const MyString&amp; rhs)
  {
    delete [] String;
    String = new char[rhs.Size];
    Size = rhs.Size;
    // needs to be a loop for cascading + 
    // so that String1=String2+String3+String4 will work
    for(int i = 0; i &lt; rhs.Size+1 ; i++)
    {
      //  String[i] + rhs.String[i]; ???
    }
    return *this;
  }
  </code></pre>
  
  <p>Code for += operator in .cpp file:</p>
  
  <pre><code>MyString&amp; MyString::operator+=(const MyString&amp; rhs)
  {
    delete [] String;
    String = new char[rhs.Size];
    String = String + rhs.String;
    return *this;
  }
  </code></pre>
  
  <p>Call from main.cpp:</p>
  
  <pre><code> String1 = String2 + String3 + String4;
   String1.Print ();
  
   String2 += String3;
   String2.Print ();
  </code></pre>
  
  <p>I know my .cpp file codes are wrong, some insight would be great!</p>