Overload C++

#include 
#include 
using namespace std;
string operator-(const string &left, const string &right);
string operator-=(string &left, const string &right);
int main()
{
  string str("This is a test.");
  string res_str;
  cout << "Contents of str: " << str << "\n\n";
  res_str =  str - "is";
  cout << res_str << "\n\n";
  res_str -= "is";
  cout << res_str << "\n\n";
  cout << str;
  return 0;
}
string operator-(const string &left, const string &right) {
  string::size_type i;
  string result(left);
  i = result.find(right);
  if(i != string::npos)
    result.erase(i, right.size());
  return result;
}
string operator-=(string &left, const string &right) {
  string::size_type i;
  i = left.find(right);
  if(i != string::npos)
    left.erase(i, right.size());
  return left;
}