Kezdőoldal » Számítástechnika » Programozás » Hogy írok egy static const...

Hogy írok egy static const adattagnak setter getter függvényt c++-ban?

Figyelt kérdés

Van egy osztályom, aminek van egy static const adattagja.


private:

static const int maxFizetes;



static int getMaxFizetes() const; //getter

void static const int setMaxFizetes(static const int maxF); //setter


A setter függvénnyel csak beállítanám az értéket, a getter függvényel pedig csak lekérdezném, de nem módosítanám.



2016. márc. 6. 15:11
 1/6 anonim ***** válasza:
const-ot nem fogsz setterrel beállítani
2016. márc. 6. 15:53
Hasznos számodra ez a válasz?
 2/6 anonim ***** válasza:
Hát setter függvényt sehogy. Konstansnak nem tudod módosítani az értékét. Getternek pedig nincs értelme ha soha nem változik az értéke. Amúgy ugyan úgy írsz getter/setter függvényt static-hoz mint nem static-hoz.
2016. márc. 6. 15:55
Hasznos számodra ez a válasz?
 3/6 anonim ***** válasza:

Van még némi fogalom zavar nálad.

Const változó - konstans, tehát nem változik az értéke soha.

Settert nem lehet írni, getternek pedig nincs értelme, nyugodtan lehet publikus adattag.

2016. márc. 6. 17:17
Hasznos számodra ez a válasz?
 4/6 A kérdező kommentje:

Értem, de az a helyzet, hogy a feladat leírás kimondja, hogy "olyan statikus adattag legyen, melynek értéke nem módosítható".


Szóval azért gondoltam, hogy a static int az egyben const is legyen, de kezdő értéket mindenkéépen kell kapjon egy függvényen keresztül, vagy a konstruktorban tudom elképzelni még.

2016. márc. 6. 21:50
 5/6 anonim ***** válasza:

Ide tudnád másolni az egész feladatleírást? Valahogy nehezen tudom elképzelni hogy így szól: "Írjon setter függvényt olyan statikus adattaghoz aminek az értéke nem módosítható." Ez egy kicsit ellentmondásos :)


Az én elképzelésem az hogy aminek az értéke nem módosítható KÍVÜLRŐL. Azaz legyen privát láthatóságú, nem pedig konstans. Bár ez is elég hülyén hangzik így, csak találgatok.


A static const adattagot is kell inicializálni, de nem függvényből. Egyszerűen csak a cpp fájlba beleírod hogy:

const int Osztaly::maxFizetes = 9000;

2016. márc. 6. 22:49
Hasznos számodra ez a válasz?
 6/6 anonim ***** válasza:
Én is afelé hajlok, hogy itt valójában arra utalt a feladat, hogy kívülről ne lehessen módosítható. Ha const-á teszed, akkor az sehonnan nem lesz egyáltalán módosítható az inicializálást követően. És a nevét elnézve ennek nagyon nem ez lenne a feladata. Egyszerűen privát adattaggá teszed, és írsz rá egy egyszerű getter-setter metódust. Bár ahogy elnézem, ennek publikus settere egyáltalán nem kell, hogy legyen, ha ez az osztályok közötti max fizetést tárolja, az olyan adat, amit a usernek sem közvetlenül, sem közvetve nem kéne módosítania, ez az osztályon értelmezett különböző metódusokon keresztül,a háttérben állítódik be. Ha pedig csak a belső működés állít neki értéket, arra nem kell setter. Úgyhogy máris csak getter metódus kell.
2016. márc. 7. 13:16
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!