Verständnisproblem beim überladen von unären-Operatoren
-
Gegeben ist:
#include <iostream> using namespace std; class myComplex{ private: double _real; double _image; public: myComplex( double val1=0.0, double val2=0.0 ){ _real = val1; _image = val2; } void print_Complex(){ cout << _real << " + " << _image << "\n"; } myComplex operator-()const{ return myComplex( -_real, -_image ); } }; int main( void ){ myComplex val1(1.1, 2.2); myComplex sum = -val1; cout << "Wert von sum: "; sum.print_Complex( ); return 0; }Ich habe ein Problem mit dem Rueckgabewert der Methode zur Operator-Ueberldung.
Erwartet die Methode kein Objekt zurueck? Diese Anweisung verwirrt mich ein wenig.
Ich kann nur vermuten, dass hier der Konstruktor aufgerufen wird, oder dass hier auf das Objekt verwiesen wird.
Oder was geschieht an dieser Stelle?
-
Dieser Thread wurde von Moderator/in Martin Richter aus dem Forum MFC (Visual C++) in das Forum C++ (auch C++0x und C++11) verschoben.
Im Zweifelsfall bitte auch folgende Hinweise beachten:
C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?Dieses Posting wurde automatisch erzeugt.
-
Schau dir sowas doch im Disassambler an.
-
Deine Frage ist für mich völlig unverständlich.
Psycho-pass schrieb:
Ich habe ein Problem mit dem Rueckgabewert der Methode zur Operator-Ueberldung. [Du meinst des überladenen Operators? OK]
Erwartet die Methode kein Objekt zurueck? [Von wem? Oder meinst du "gibt zurück"?] Diese Anweisung verwirrt mich ein wenig.
Ich kann nur vermuten, dass hier der Konstruktor aufgerufen wird [Könnte sein.], oder dass hier auf das Objekt verwiesen wird. [???]
Oder was geschieht an dieser Stelle? [An welcher Stelle eigentlich genau?]