[ MiTo @ 14.02.2004. 10:04 ] @
| evo imam problem u ovom kodu, operator == je friend funkcija klase, imag i real su privatni clanovi, buduci da je == friend funkcija onda bi morala imat pristup private i protected clanovima klase, e sad javi mi da f-ja ne moze pristupit privatnim clanovima, zasto?
u klasi ->
/****/
friend bool operator == (const kompleks &c1, const kompleks &c2);
/****/
izvan->
/**********************************************/
bool operator == (kompleks &c1, kompleks &c2)
{
/*return ( (c1.getReal()==c2.getReal())&&(c1.getImag()==c2.getImag()) );*/
return ( (c1.real==c2.real) && (c1.imag==c2.imag) );
}
/******************************************* |
[ filmil @ 14.02.2004. 13:32 ] @
Citat:
MiTo:
friend bool operator == (const kompleks &c1, const kompleks &c2);
...
bool operator == (kompleks &c1, kompleks &c2)
Ovo nisu iste funkcije. Jedna ima argumente
const kompleks&..., a druga samo
komplex&. Zato se javlja greška.
f
[ MiTo @ 14.02.2004. 22:57 ] @
ma svejedno, stavio const ista je greska, imam par primjera kod kojih se u deklaraciji navodi const dok u definiciji ne...
nesto kao
friend bool operator < (const ime_klase &k1,const ime_klase &k2)const;
dok je definicija
bool operator <(ime_klase &k1,ime_klase &k2)
{
return(k1.getVrijednostNeka-k2.getVrijednostNeka);
}
uglavnom to je ideja, ima i slicnih stvari, to sto kazes je istina i u knjigi sam nasao primjer sa naravno istom definicijom i deklaracijom i to bi trebalo raditi, ali meni nece... tako da me gadno zbunilo...
[ MiTo @ 18.02.2004. 18:43 ] @
:) nisam bio dugo na forumu, al znam u cemu je problem :) razlicite su :)
Copyright (C) 2001-2025 by www.elitesecurity.org. All rights reserved.