Przeładowanie operatorów - znak ampersand

0

Co oznacza pierwszy ampersand w:

friend ostream & operator<< (ostream &wyjscie, const Student &s);

?

0

To samo co pozostałe: referencję.

0

@kq: A do czego on jest tutaj potrzebny? Po jego usunięciu z programem nic złego się nie dzieje.

3

Po jego usunięciu program się nie kompiluje, bo ostream jest klasą abstrakcyjną.

W typie zwracanym z funkcji oznacza on, że funkcja zwraca referencję, a nie obiekt.

2

Ale zamiast referencji zwracasz kopię obiektu. Zupełnie niepotrzebna operacja, już nawet abstrahując od tego co napisał odnośnie kompilacji @kq.

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