vector tried c++

Programovacie jazyky, rady, poradňa...
marek788
Light Star
Light Star
Príspevky: 234
Registrovaný: 08 okt 2013, 12:40

vector tried c++

Príspevok od používateľa marek788 »

Ahojte, mam mensi problem, mam dve triedy dajme tomu triedu X a triedu Y. V triede Y v casti private mam zadefinovany vector

Kód: Vybrať všetko

vector<X>asdf
, a v triede X mam v casti private dve premenne doubly s nejakymi hodnotami. V triede Y mam clensku funkciu, ktora bude robit nejake vypocty s tymi premennymi z triedy X, no a problem je, ze neviem ako sa k nim dostat. Mam to nejak takto no nefunguje to.

Kód: Vybrať všetko

for( std::vector<X>::const_iterator i = asdf.begin(); i != asdf.end(); ++i){
         vyska = asdf[i].premenna1;
         dlzka = asdf[i].premenna2;
         ......
}
Takto mi to nefunguje, neviete mi niekto poradit? Dakujem.
pcsiete
Medium Star
Medium Star
Príspevky: 413
Registrovaný: 07 dec 2012, 18:47

Re: vector tried c++

Príspevok od používateľa pcsiete »

a v triede X mam v casti private dve premenne doubly
Musia byť buď public, alebo musí byť Y (či len jej členská funkcia) priateľom X.
marek788
Light Star
Light Star
Príspevky: 234
Registrovaný: 08 okt 2013, 12:40

Re: vector tried c++

Príspevok od používateľa marek788 »

Super diky za odpoved, keby som spravil asi funkciu get1, ktora by vratila jednu premennu, a potom to volal ako asdf.get1() to by asi nefungovalo, ci ano?
pcsiete
Medium Star
Medium Star
Príspevky: 413
Registrovaný: 07 dec 2012, 18:47

Re: vector tried c++

Príspevok od používateľa pcsiete »

To by fungovalo, zachovala by sa tak (ne)viditeľnosť členov triedy X.
marek788
Light Star
Light Star
Príspevky: 234
Registrovaný: 08 okt 2013, 12:40

Re: vector tried c++

Príspevok od používateľa marek788 »

Super diky, este otazka pri kompilacii mi vypisuje warning
main.cpp:36:73: warning: ISO C++ does not support the ‘%lf’ gnu_printf format [-Wformat]
ten riadok je
sprintf(mem, "%d %d'%.3lf\"", abs(stupne), abs(minuty), abs(sekundy));
stupne a minuty su inty a sekundy su double. Neviete niekto, kde by mohol byt problem?
pcsiete
Medium Star
Medium Star
Príspevky: 413
Registrovaný: 07 dec 2012, 18:47

Re: vector tried c++

Príspevok od používateľa pcsiete »

Pri printf nemusíš používať %lf (so scanf však skôr hej), pretože pri výpise býva už float automaticky rozpracovaný do double. V každom prípade je to len warning.
Napísať odpoveď