Keresés


Toplista

Toplista
  • betöltés...

Magántanár kereső

Ha szívesen korrepetálnál, hozd létre magántanár profilodat itt.
Ha diák vagy és korrepetálásra van szükséged, akkor regisztrálj be és írd meg itt, hogy milyen tantárgyban!

Az alábbi felüldefiniálás mitől függ C++ ban?

239
Ha operátorokat szeretnék felüldefiniálni C++ ban (akár +=, vagy || stb..) ,akkor honnan tudhatom, hogy pontosan mi legyen a függvény visszatérési típusa?

Sokszor tapasztalom, hogy objektum referenciával kell visszatérni, de találkoztam már olyan esettel is mikor sima objektum volt a vissza térési típus vagy olyan is volt, hogy akár nem is objektummal tértünk vissza, ugyanakkor mégis operátort definiáltunk felül.
Jelenleg 1 felhasználó nézi ezt a kérdést.
0
Felsőoktatás / Informatika

Válaszok

1
Attól hogy operator van a nevében, az még egy ugyanolyan függvény, mint a többi (szinte). Nincs megkötve, hogy mit ad vissza, vagy hogy visszaad-e egyáltalán bármit.
Persze az más kérdés, hogy ha egy operator+ -nak nevezett függvény olyan dolgot csinál, ami nem vagy nehezen tekinthető összeadásnak, akkor az, aki később olvassa majd a kódodat, jól meg lesz lepve, hogy nem is olyat csinál, mint ami elvárható lenne. Szóval pl. azt várja el mindenki, hogy értelmesen működjön az, hogy a+b+c amihez az kell, hogy az a+b olyan dolgot adjon vissza, amihez van operator+. Ez a legtöbb esetben objektum referenciát jelent, de ez nem törvényszerű.

Nagyrészt ízlés kérdése a dolog. Nekem mondjuk olyan az ízlésem, hogy ilyen operátorokkal nagyon nem-intuitív dolgokat lehet eldugni a kódot később olvasók elől, az meg nem helyes dolog. Szóval én magam kevés dologtól eltekintve nem használnék operátorokat.
0