Ü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 }