CS202 6- ‹#›
Overloading = Operator
nclass string {
n  public:
n    string(): str(0), len(0) {}; //constructor
n    string(const string &); //copy constructor
n    ~string(); //destructor
n    string & operator = (const string & );  //assignment
n    •••
n  private:
n    char * str;
n    int len;
n};
n
nstring & operator = (const string & s2) {
n  if (this == &s2)     //check for self assignment
n    return *this;
n  if (str)             //current object has a value
n    delete [] str;     //deallocate any dynamic memory
n  str = new char [s2.len+1];
n  strcpy(str,s2.str);
n  len = s2.len;
n  return *this;
n}