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?
asdasdasd
kérdése
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
bongolo{ }
megoldása
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.