Kezdőoldal » Számítástechnika » Programozás » Miért nem működik ez a program...

Miért nem működik ez a programrész úgy, ahogy szeretném? (c++)

Figyelt kérdés

Van egy xy objektumom a myClass osztályban.

Van egy függvényem:


myClass myFunction(myClass myObject)

{

myObject.setX(25);

return myObject;

}


Ahol a setX az osztályon belül az x=10 privát változó értékét írja át.


Amikor meghívom a main()-ben, pl:

cout << "return value: " << myFunction(xy).getX() << endl;

Akkor nem változik az érték 25-re, hanem a 10-et adja vissza, mert a függvény létrehozásánál is meghívódik a copy constructor, majd a return utasításnál is valamiért.


Ezt csak úgy tudtam kiküszöbölni, hogy függvényen belül átadtam a myObject objektumot egy új objektumnak:


myClass myFunction(myClass myObject)

{

myObject2=myObject

myObject2.setX(25);

return myObject2;

}


Megköszönném ha valaki elmagyarázni :)



2017. jan. 27. 16:27
 1/2 A kérdező kommentje:
Kihagytam, hogy myClass myObject2=myObject;
2017. jan. 27. 16:36
 2/2 anonim ***** válasza:
Teljes kódot rakj már be ha lehet.
2017. jan. 29. 00:45
Hasznos számodra ez a válasz?

Kapcsolódó kérdések:




Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!