Функция друга не зависит от класса, но ей разрешен доступ к закрытым членам.
В вашем классе нет способа доступа к x
и y
членам (и это делает класс сортировочным).бесполезно, кстати), чтобы иметь возможность обрабатывать чтение / запись экземпляров в поток, эти функции должны быть объявлены друзьями.
Если вы никогда раньше не видели концепцию friend
, то, вероятно, означает, что вы пытаетесьнаучить себя C ++, написав код.Это ужасная идея ... C ++ не может быть изучен таким образом по многим различным причинам.
Выберите хорошую книгу и прочитайте ее от корки до корки, а затем поэкспериментируйте с ней.На сегодняшний день это самый быстрый (единственный) способ.
Неважно, насколько вы умны (на самом деле, вы умнее и труднее будет изучать C ++ экспериментально: логика не всегда помогает в этомместо).