Kezdőoldal » Számítástechnika » Programozás » C++-ban ezt, hogyan csinálhato...

C++-ban ezt, hogyan csinálhatom meg?

Figyelt kérdés

Tegyük fel, hogy van egy A típusú objektumom. Az A osztálynak van egy rakat metódusa, valamint privát változója. Az osztályt nem módosíthatom, a metódusokat használom de az egyik konstans privát változó értékét meg szeretném változtatni (egy másik konstans értékre). Így amikor az egyik metódus felhaszálja ezt a változót, akkor az énértékemet használja.

Öröklődéssel nem lehet valahogy megcsinálni?


2017. okt. 30. 19:13
 1/8 anonim ***** válasza:
Esetleg megpróbálkozhatsz egy const_cast-al (bár nem szép dolog, de quick and dirty)
2017. okt. 30. 19:34
Hasznos számodra ez a válasz?
 2/8 anonim ***** válasza:

[link]


Tehat ha nincs egy virtual getter amit tudnal overrideolni, akkor nem lehet.

2017. okt. 30. 19:39
Hasznos számodra ez a válasz?
 3/8 A kérdező kommentje:
És ha csinálnék egy osztályt amely örökli az említett osztályt és csak azt a metódust írom felül amely használja ezt a változót, annyi különbséggel, hogy itt a változót az új osztályban deklarálnám?
2017. okt. 30. 20:34
 4/8 anonim ***** válasza:

ha private, ugyanúgy nem férsz hozzá. Leszármaztatással akkor férhetsz hozzá, ha protected. De rajtad ez sem segítene, mert konstans.

Konstanst NEM TUDSZ sehogy változtatni, épp ez a lényege a konstansnak (hogy ne lehessen).

2017. okt. 30. 22:25
Hasznos számodra ez a válasz?
 5/8 anonim ***** válasza:

"csak azt a metódust írom felül amely használja ezt a változót"


Ezt nem értem, most konstans vagy változó?

A konstans helyett egy változót akarsz bevezetni, és a metódust felülkapni, hogy azt használja? Csak ha a metódus nem private.

2017. okt. 31. 00:10
Hasznos számodra ez a válasz?
 6/8 anonim ***** válasza:
Öröklődéssel nem megy, aggregációval próbálkozhatsz.
2017. okt. 31. 07:50
Hasznos számodra ez a válasz?
 7/8 anonim ***** válasza:
#define private public :D
2017. okt. 31. 13:58
Hasznos számodra ez a válasz?
 8/8 anonim ***** válasza:
#7, Ennyi erővel át is írhatná az eredeti kódot. :)
2017. okt. 31. 15:01
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!