Pretpostavimo da imaš klasu poput
Code:
class Razlomak
{
private:
int brojilac;
int imenilac;
public:
Razlomak(): brojilac(0), imenilac(0)
{
}
Razlomak(int b, int i): brojilac(b), imenilac(i)
{
}
// ostali konstruktori po volji, destruktor, geteri, seteri, itd.
};
Onda bi mogao da se preklopi operator koji ce da čita razlomke poput 1/4 sa:
Code:
istream& operator>> (istream& is, Razlomak& r)
{
double imenilac, brojilac;
is >> imenilac;
is.ignore();// preskoci razlomacku crtu
is >> brojilac;
r = Razlomak(imenilac, brojilac);
return is;
}
Naravno, >> bi trebalo da proveri da li su pročitane vrednosti ispravne (imenilac npr. ne može biti nula), da li je razlomačka crta na mestu, može li biti belina između brojeva i crte i tome slično - sve te varijante bi trebalo da razmotriš i ubaciš u funkciju, ovde je izneta samo ideja.