izmenjeno 1 put, poslednji put toxi_programer 30.08.2006. u 11:29
Izmene poruke
- toxi_programer30.08.2006. u 11:29zapis iz teksta poruke
Imam problem sa deklaracijom frienda klase. U knjizi pise da friend ima pravo pristupa private clanovima klase, a ovo opet nece da radi. Evo o cemu se workuje:
Kaze kompajler da ne moze da se pristupi clanu data posto je isti deklarisan kao private podatak.
Pa kako da omogucim pristup?
Code:
class str {
public:
friend istream& operator>>(istream &in, str &s);
/* ....... */
};
/* ......*/
istream& operator>>(istream &in, str &s) //ova f-ja treba da bude friend
{
//isprazni s
s.data.clear();
//odvoj razmake sa leva
char zn;
while(in.get(zn) && isspace(zn));
//citaj sve dok ne dodjes na razmak i upisi u S
do s.data.push_back(zn);
while(in.get(zn) && isspace(zn));
in.unget();
return in;
}
class str {
public:
friend istream& operator>>(istream &in, str &s);
/* ....... */
};
/* ......*/
istream& operator>>(istream &in, str &s) //ova f-ja treba da bude friend
{
//isprazni s
s.data.clear();
//odvoj razmake sa leva
char zn;
while(in.get(zn) && isspace(zn));
//citaj sve dok ne dodjes na razmak i upisi u S
do s.data.push_back(zn);
while(in.get(zn) && isspace(zn));
in.unget();
return in;
}
Kaze kompajler da ne moze da se pristupi clanu data posto je isti deklarisan kao private podatak.
Pa kako da omogucim pristup?