class overloading operator+



  • MarioGTI schrieb:

    Leider nicht, da wir einen automatischen CodeJudge haben ist es mir auch nicht möglich die Header und Main Dateien zu ändern.

    Ergo muss ich es mit Referenzen machen.

    Aber du könntest mal deinen Lehrer fragen. Vielleicht einfach ein Versehen, dann wäre er u.U. sogar froh wenn ihn jmd. darauf hinweist.



  • Weil ich einfach folgenden Code benutzen kann:

    v2d & v2d::operator+(const v2d &v){
    	x=v.x+this->x;
    	y=v.y+this->y;
    	return *this;
    }
    

    Die Vektorlänge der Variablen x und y errechne ich dann mit einer anderen Funktion. Aber ändert vom Prinzip ja nichts

    Ist doch ganz einfach mit References.

    Trotzdem Danke


  • Mod

    MarioGTI schrieb:

    Weil ich einfach folgenden Code benutzen kann:

    Der aber falsch ist. Mach mal ein Testprogramm und guck dir die Werte aller Variablen an, nachdem dieser Code ausgeführt wurde.



  • Habe ja CodeJudge, das generiert Testwerte und die neuen Werte stimmen alle.

    Und das für alle operatoren(= + 😉

    Aber ich gucken gleich mal nach ALLEN Werten. Habe jetzt nur die Ergebnisse kontrolliert.



  • MarioGTI schrieb:

    Habe ja CodeJudge, das generiert Testwerte und die neuen Werte stimmen alle

    Wenn die Tests genau so gut wie die Aufgabenstellung sind, besagt das nicht viel ...



  • Das ist inhaltlich ein operator+=.

    Deinen CodeJudge kannst du in die Tonne treten, wenn er solchen Stuss durchlässt.



  • Habe gerade alle Werte ausgegeben.
    Das Ergebnisobjekt ist richtig aber in den zu addierenden objekten ändern sich auch Werte.

    Bringt tatsächlich keinen pädagogischen Mehrwert mit sich. Dankeschön


  • Mod

    MarioGTI schrieb:

    Bringt tatsächlich keinen pädagogischen Mehrwert mit sich.

    Kommt drauf an, ob du daraus etwas nützliches gelernt hast, oder nicht. Es gibt jedenfalls genug, was man hier hätte lernen können.



  • Warum reden alle nur in Rätseln?

    Der Gag ist doch bei

    vec2 a(...), b(...);
    vec2 c = a + b;
    

    sollte sich a nicht verändern, richtig?

    const vec2 a(...);
    vec2 b = a + a;
    

    sollte wohl auch kompilieren.



  • @Furble
    Naja, so rätselhaft kann es nicht gewesen sein, MarioGTI hat's schliesslich verstanden 😉

    @MarioGTI
    Nochmal: Sprich doch deinen Lehrer drauf an.



  • hustbaer schrieb:

    @Furble
    Naja, so rätselhaft kann es nicht gewesen sein, MarioGTI hat's schliesslich verstanden 😉

    Stimmt auffällig...
    Hab MarioGTIs letztes Posting nicht richtig gelesen. 😕


Anmelden zum Antworten