Overloading The Assignment operator = (C++)
Go Up to Overloading Operator Functions Overview Index (C++)
The assignment operator = ( ) can be overloaded by declaring a nonstatic member function. For example:
class String { . . . String& operator = (String& str); . . . String (String&); ~String(); }
This code, with suitable definitions of String::operator =()
, allows string assignments str1 = str2
in the usual sense. Unlike the other operator functions, the assignment operator function cannot be inherited by derived classes. If, for any class X, there is no user-defined operator =, the operator = is defined by default as a member-by-member assignment of the members of class X:
X& X::operator = (const X& source) { // memberwise assignment }