Здравствуйте, Hоmunculus, Вы писали:
H>Как считаете — friend это костыль для кривой архитектуры или норм?
Само по себе нет, зависит от ситуации. В качестве классического примера можно привести определённые пользователем операторы ввода/вывода. Можно конечно, определять в классах функции-члены типа read/write, save/load и т.п и через них определять операторы, но зачем же плодить лишние сущности.
А вот когда на этапе проектирования что-то провтыкали, а потом начинают латать эти косяки добавлением друзей, вот это уже костыли.
--
Справедливость выше закона. А человечность выше справедливости.