Überladen des Zuweisungsoperators = (C++)
Nach oben zu Überladen von Operatorfunktionen (Übersicht) - Index
Der Zuweisungsoperator = kann überladen werden, indem man eine nichtstatische Elementfunktion deklariert. Zum Beispiel:
class String {
.
.
.
String& operator = (String& str);
.
.
.
String (String&);
~String();
}
Das obige Programmstück ermöglicht es (zusammen mit passenden Definitionen von String::operator =(), Stringzuweisungen wie in anderen Sprachen in der Form str1 = str2 zu schreiben. Im Gegensatz zu anderen Operatorfunktionen kann die Zuweisungsoperatorfunktion von abgeleiteten Klassen nicht geerbt werden. Wenn es für eine Klasse X keinen benutzerdefinierten Operator = gibt, wird der Operator = standardmäßig als elementweise Zuweisung der Elemente von Klasse X definiert:
X& X::operator = (const X& source)
{
// elementweise Zuweisung
}