problem z przeciazaniem operatorow wejscia/wyjscia

0

Witam mam następujący problem: tworze klasę liczb zespolonych i chce przeladowac operatory wejscia (cin) i wyjscia (cout). W klasie pisze deklaracje funkcji zaprzyjaznionych : friend ostream& operator<<(ostream & wyswietl,zespolone z);
friend istream& operator>>(istream & wczytaj, zespolone &z);
i w innym pliku definiuje je nastepujaco:

istream& operator>>(istream & wczytaj, zespolone &z)
{ cout<<"Podaj czesc rzeczywista: "; wczytaj>>z.re;
cout<<"Podaj czesc urojona: "; wczytaj>>z.im;
cout<<endl;
return wczytaj;
}

ostream& operator<<(ostream & wyswietl,zespolone z)
{if(z.re!=0) wyswietl<<noshowpos<<z.re;
if(z.im!=0) wyswietl<<showpos<<z.im<<"i"<<endl;
else if(z.re==0 && z.im==0) wyswietl<<"0"<<endl;
wyswietl<<endl;
return wyswietl;
}

Problem wystepuje podczas kompilacji : wyswietla mi chyba z 70 bledow odnosnie np. ze za ostream w deklaracji f. zaprzyjaznionej powinien byc ";" i takie inne glupoty. NIe wiem o co chodzi ?? Z gory dziekuje za pomoc .

0

OK. Dzieki juz nie trzeba. Po prostu w naglowku zapomnialem umiescic #include<iostream.h>
Glupi blad

0

Spoko,ale tak nawiasem, mówiąć to jak przeciążas operatory, to powinienneś zamiast cout pisaś wyjscie itd. wtedy będziesz mógł zapisywać np do pliku. A twoje przeciążenie polega na tym, że jakiego strumienia byś nie podał, zawsze będziesz korzystał ze standardowych. Marnujesz ogramny potencjał konsoli :D

1 użytkowników online, w tym zalogowanych: 0, gości: 1