Hirdetés

Új hozzászólás Aktív témák

  • Karma
    félisten

    Sziasztok!

    Egy kis segítségre lenne szükségem C-s téren.
    Adott egy struktúrám, amiben van mindenféle változó. Azt szeretném hogy ezeknek a változóknak csak egyszer lehessen értéket adni, és utána ne lehessen megváltoztatni.
    A dolog érdekessége hogy a struktúrából létrehozok egy tömböt és egy függvényen belül adok értéket a struktúrák elemeinek. Ha az elemeket const-al deklarálom akkor beszól a fordító hogy read-only value.
    Van valami megoldás erre a problémára?

    Köszi a segítséget

    Persze hogy van, csak egy kicsit el kell rugaszkodnod a struktúrától. A megoldás az ún. getter/setter függvények írása, amivel szabályozod a hozzáférést.

    Röviden írnod kell olyan függvényeket, melyeknek az első paramétere egy pointer a struktúratípusodra; a getternél nincs más, a setternél meg ott az új érték másodiknak. És csak ezeket a függvényeket használod a struktúrád birizgálásához, közvetlenül nem nyúlsz bele.

    C-ben ezt egyébként elég könnyen garantálni is tudod, ha a struktúrád definícióját külön .c fájlba rakod.

Új hozzászólás Aktív témák