Programmieren - alles kontrollieren 4.941 Themen, 20.708 Beiträge

C++: Überladen des Zuweisungsoperators

Krollie / 0 Antworten / Baumansicht Nickles

Hallo C++-Profis!
Ich bin gerade eifrig dabei C++ zu lernen. Allerdings begreife ich etwas beim Überladen des Zuweisungsoperators nicht. Wieso ist es wichtig, daß der selbstdefinierte Zuweisungsoperator eine Referenz auf seine eigene Instanz zurückggibt, und keinen normalen Wert? In meinen beiden Lehrbüchern wird es nach dem Motto "Ist halt so" beschrieben. Ich habe aber in kleineren selbstgeschriebenen Testprogrammen keinen Unterschied zwischen Zuweisungsoperatoren festgestellt, die eine Referenz auf die eigene Instanz zurückgeben oder einen Wert (gebildet aus *this). Das jeweilige Programm verhielt sich bei beiden Varianten genauso (inkl. Werte aller Variablen und Adressen). Ich habe ein entprechendes Listing unten dran gehängt.
Also, wo ist der Unterschied? Warum soll man unbedingt eine Referenz verwenden?

Dank im voraus
Krollie

PS: Dummerweise gehen hier im Posting die White Spaces unter, sorry :(

// Überladung des Zuweisungsoperators =
// Dieses Programm sollte eigentlich Klarheit schaffen, warum der
// Zuweisungsoperator eine Referenz auf seine Instanz
// zurückliefern sollte
// Na ja, Klarheit hat es bei mir leider nicht geschaffen

#include

bei Antwort benachrichtigen