C++ beágyazott class private mezőihez hozzáférés a külső class-ból?
Sziasztok! Viszonylag kezdő vagyok még C++-ban, és ma felmerült bennem egy kérdés, amire nem nagyon találtam egyértelmű választ sehol. A kérdés a következő:
Definiálok két classt:
class hossz
{
int perc;
int mperc;
}
class cd
{
string eloado;
string cim;
int ev;
hossz lemezhossz;
};
Ugyebár mivel class-ként definiáltam, nem struct-ként, a mezők elérhetősége private-re defaultol, eddig világos. Tehát ha mondjuk egy fájlból akarom az adatokat beolvasni, akkor írnom kell getter-t és setter-t minden mezőhöz, hogy értéket tudjak adni kívülről a mezőimnek. Viszont fogalmam sincs, hogy a "beágyazott" class (hossz) private mezőinek az accessor/mutator függvényeit hol definiáljam. Ha magán a belső classon belül teszem, és mondjuk beírom ezt:
mycd.lemezhossz.setmperc(20);
Akkor meghal, mondván a "mperc" tag private. Ha a külső class-ba beleírom, hogy "friend class hossz" akkor ugyanezt csinálja. Fórumokon azt írták, érdemes ilyenkor simán a külső classon belül definiálni mindkét mezőt (perc, mperc) és egyszerűen ott írni hozzá accessort, ami egy valid alternatíva, de meg lehet valahogy oldani így is? Köszi a válaszokat előre is, és bocsi a zavaros/noob kérdésért :)
Szia!
Mennyire rég programozol és hogyan álltál neki? Én most kezdtem el programozást tanulni (c++) és nem tudom hogyan tudnék az egyetemig elég jól programozni. Mit ajánlotok?
16/F
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
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!