Gast
#3706491
Guten Tag, gerade lese ich mich durch ein C++ Skript und bin bei den Überladungen angelangt. Leider ist das Skript nur sehr bescheiden ausgeführt und mehr eine Sammlung von Präsentationsfolien. Vielleicht könnt ihr mir ja weiterhelfen. Es geh um folgendes : Ich möchte gerne in C++ die Operatoren + sowie << und >> für cout und cin überladen. Aus dem Skript habe ich folgendes gelernt : friend ErgebnisTyp operator + ( Parameter ) Bei mir wäre das dann friend RationaleZahl & operator + (RationaleZahl &r1 , RationaleZahl &r2) Ich habe es bisher immer so gemacht, dass ich bei den Parametern und beim Ergebnisstyp ein & dazugeschrieben habe. In späteren Kapiteln des Skripts wird aber oftmals das & weggelassen. Ist es richtig, dass ich es für den Zugriff auf private Attribute benötige ? Und ist es falsch, wenn ich es immer hinschreibe ? Im Skript habe ich zum Beispiel folgendes Beispiel : friend RationaleZahl operator + (RationaleZahl , RationaleZahl) und friend ostream & operator << (ostream &os , RationaleZahl r) Darf ich das Ganze auch immer so schreiben : friend RationaleZahl & operator + (RationaleZahl &r1 , RationaleZahl &r2) und friend ostream & operator << (ostream &os , RationaleZahl &r) oder wäre das in bestimmten Fällen falsch ?