Co oznacza pierwszy ampersand w:
friend ostream & operator<< (ostream &wyjscie, const Student &s);
?
Co oznacza pierwszy ampersand w:
friend ostream & operator<< (ostream &wyjscie, const Student &s);
?
To samo co pozostałe: referencję.
@kq: A do czego on jest tutaj potrzebny? Po jego usunięciu z programem nic złego się nie dzieje.
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.
Ale zamiast referencji zwracasz kopię obiektu. Zupełnie niepotrzebna operacja, już nawet abstrahując od tego co napisał odnośnie kompilacji @kq.