Operator Overloading C++ Tutorial

#include 
#include 
using namespace std;
int main()
{
   string s1( "cat" ), s2, s3;
   s2 = s1;          
   s3.assign( s1 );  
   cout << "s1: " << s1 << "\ns2: " << s2 << "\ns3: "
        << s3 << "\n\n";
   // overloaded +=
   s3 += "pet";             // create "carpet"
   return 0;
}