problem sa preklopljenim >> /c++

problem sa preklopljenim >> /c++

offline
  • Pridružio: 08 Sep 2005
  • Poruke: 70

friend ostream & operator<< (ostream& os, const Kompleks &k);
friend istream & operator>> (istream& is, Kompleks &k);


ostream& operator<< (ostream &os, const Kompleks &k)
{ return os<<"("<<k.a<<","<<k.b<<")\n";}


istream& operator>> (istream& is, Kompleks &k)
{ return is>>k.a>>k.b;}

Ovako ja predefinisem operatore za unos i iznos podataka. I kad krenem da ih koristim, sa "cout<<objektklase" sve lepo funkcionise, al kad krenem sa "cin>>objektklase" nesto nece. Ili javlja :
error C2679: binary '>>' : no operator defined which takes a right-hand operand of type 'class Kompleks (__cdecl *)(void)' (or there is no acceptable conversion)

ili ako iza objektklase stavim (), da pokusam da napravim da lici na konstruktor onda prilikom linkovanja javlja:

--------------------Configuration: proba - Win32 Debug--------------------
Linking...
proba.obj : error LNK2001: unresolved external symbol "class Kompleks __cdecl xc(void)" (?xc@@YA?AVKompleks@@XZ)
Debug/proba.exe : fatal error LNK1120: 1 unresolved externals
Error executing link.exe.

proba.exe - 2 error(s), 0 warning(s)

Klasu sam definisao kao:

1 class Kompleks {
2 int a,b;
3 public:
4 Kompleks ();
5 Kompleks (int q, int w) {a=q; b=w;}
6 void pisi() {cout<<"("<<a<<","<<b<<")\n";}
7 friend ostream & operator<< (ostream& os, const Kompleks &k);
8 friend istream & operator>> (istream& is, Kompleks &k);
9 };

pri cemu su mi redovi 4,5,6 koristili za neka ucitavanja podataka bez preklapanja operatora>> i <<, al kad sam hteo da probam sa njima javili su se problemi. Posto moram u kratkom roku da savladam C++ molim za objasnjenje i razjasnjenje. Takodje, molio bih ako neko moze ukratko da mi pojasni zasto treba koristiti konstruktore. Meni je taj koncept jasan, ali nekako mi je jasnije kad vrednost unesem pomocu cin ili cout. Hvala unpred!



Registruj se da bi učestvovao u diskusiji. Registrovanim korisnicima se NE prikazuju reklame unutar poruka.
Ko je trenutno na forumu
 

Ukupno su 880 korisnika na forumu :: 16 registrovanih, 1 sakriven i 863 gosta   ::   [ Administrator ] [ Supermoderator ] [ Moderator ] :: Detaljnije

Najviše korisnika na forumu ikad bilo je 3466 - dana 01 Jun 2021 17:07

Korisnici koji su trenutno na forumu:
Korisnici trenutno na forumu: A.R.Chafee.Jr., alkatraz080, babaroga, Bubimir, cenejac111, ladro, marsovac 2, nebkv, Oscar, raketaš, repac, solic, stegonosa, suton, Vatreni Zmaj, yufighter