C++ Operator Overloading 2 objektummal?
Van egy "class A..." osztályom és Operator Overloadingozni szeretnék, úgy, hogy:
A* X = new A();
A* Y = new A();
X >> Y;
>> esetben az Y-t módosuljon referenciaként, X alapján. Olvasgattam tutoriált, de nem nagyon jött át. Pontosabban a .hpp és a .cpp függvény módja érdekel, és hogy melyik példányos megvalósítás fut le?
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz0.png)
">> esetben az Y-t módosuljon referenciaként, X alapján. Olvasgattam tutoriált, de nem nagyon jött át. Pontosabban a .hpp és a .cpp függvény módja érdekel, és hogy melyik példányos megvalósítás fut le?"
ebből konkrétan (most tényleg) semmit nem értek
tudod, hogy mire való az overloadolás?
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz0.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz1.png)
![*](http://static.gyakorikerdesek.hu/p/vsz0.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz0.png)
.h ban:
A& operator>>(A&);
aztán bűvészkedj de ilyen felírásban az Y módosuljon ahhoz tényleg bűvészkedni kell, kell valami ehhez hasonló prototípus paraméter nélkül talán ami megfordítja belül a sorrendet és arra hívja ezt. de minek akarsz ilyen bonyolult dolgot?
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz0.png)
"de minek akarsz ilyen bonyolult dolgot?"
te tudod, hogy mit akar???
akkor kérlek oszd meg az előtted válaszoló három hülyével, ok? mert mi nem értjük
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz0.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz0.png)
hát öcsém te jól belegondoltál.. :D
én elsőre belegondolva úgy tudom, hogy a >> operátor egy kétparaméteres függvény, szóval bármit csinálhat bármelyik operandussal
itt elsődlegesen az a probléma, hogy pointerekre nem is fog működni, akárhogy csinálja, max így:
*X>>*Y
másodlagosan meg az a probléma, hogy azt már értjük, hogy ő nem érti, de hogy mit akar, azt még mindig nem
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz1.png)
![*](http://static.gyakorikerdesek.hu/p/vsz0.png)
Viszont most már tudjuk, hogy te sem érted :D
"ami miatt bonyolult meg talán nem is lehet sőt így belegondolva kb biztos nem hogy a jobboldali operandussal történjen valami a bal helyett."
Ha feltesszük, hogy lehetséges a dolog, márhogy ilyen operátort írni (ami pedig nem, de tegyük fel), akkor viszont nem látom semmi akadályát bármelyik operandus módosításának.
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz0.png)
azzal kevertem, van a ++ operátor amit alapból úgy lehet felüldefiniálni ezt értse: vmi++
ha meg azt akarjuk ++vmi működjön akkor kell valami olyat amiről fentebb hadováltam:D
További kérdések:
Minden jog fenntartva © 2025, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!