operator überladen (wäre gewesen: "das const-spiel". aussagekräftigeren titel genommen)
-
const meine_zahl& operator+(const meine_zahl &a) const;sieht mir irgendwie nach zuviel const aus...
also wie macht man's richtig?
-
Ich denke da sind nicht zuviel const's. Genau richtig

-
c0nstan7ine schrieb:
const meine_zahl& operator+(const meine_zahl &a) const;sieht mir irgendwie nach zuviel const aus...
also wie macht man's richtig?ist das der unäre operator+?
kann man mit ints eigentlich
+i=5;
schreiben? wenn ja, gehören bei dir auch keine consts hin, damit sich deine klasse anfühlt wie int.
-
volkard schrieb:
kann man mit ints eigentlich
+i=5;
schreiben? wenn ja, gehören bei dir auch keine consts hin, damit sich deine klasse anfühlt wie int.das ergebnis des unären + operators ist ein rvalue, folglich sollte das nicht funktionieren. es wäre auch etwas überaschend, falls sich + hier anders als - verhielte, bloss weil das ergebnis der unveränderte ursprüngliche wert ist.
-
Ich nehme mal and das ist eine memberfunktion (siehe das 3. const) und daher ist das ein binärer operator +.
-
musst du nicht bloss annehmen, das finale const verät es ja irgendwie.
-
oh.
als binärer op+ kann er aber nicht sinnvoll ne referenz zurückliefern.
-
volkard schrieb:
oh.
als binärer op+ kann er aber nicht sinnvoll ne referenz zurückliefern.was dann

-
c0nstan7ine schrieb:
volkard schrieb:
oh.
als binärer op+ kann er aber nicht sinnvoll ne referenz zurückliefern.was dann

Ein l-value...
-
damit ich dann
(8+4)=7;schreiben kann?
-
c0nstan7ine schrieb:
damit ich dann
(8+4)=7;schreiben kann?
jo -.-