Przeładowanie operatora '>>'

0

Czy przeładowując operator '>>' mogę po lewej stronie umieścić coś innego niż stream? przykładowo coś takiego:
List& operator>>(ComplexNumber* number, List& list)
Miało by to wyrazić dodanie obiektu LiczbaZespolona do Listy LiczbZespolonych.
Kompilator wywala mi masę błędów, a w tym C++ żeby dowiedzieć się coś z tych śmiesznych Errorów, trzeba się poważnie natrudzić.

2

Owszem. Ale radzę to zrobić tak:
List& operator<<(List& list,const ComplexNumber &number) { ... }
wtedy możesz użyć:
List L;
ComplexNumber a,b,c;
L<<a<<b<<c;
Natomiast pobieranie zrobić tak:
List& operator>>(List& list,ComplexNumber &number) { ... }
wtedy możesz użyć:
L>>a>>b>>c;
Jeżeli zrobisz dodawanie jak zaproponowałeś to dodawanie kilku będzie musiało wyglądać tak:
c>>(b>>(a>>L));
i oczywiście kolejność dodawania będzie a,b,c nie wygodnie, nieprawdaż?

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