Здравствуйте, Bell, Вы писали:
B>Нет никакой необходимости объявлять внешний operator+ как friend, т.к. он элементарно реализуется через "внутренний".
В данном конкретном случае — да. Но не в общем случае, особенно если оператор некоммутативный (a+b != b+a).
Хотя и там разные приёмы есть, например конструирование анонимного экземпляра (return C(a)+c). Но повторяю, в общем случае это может быть не применимо, и дружественность может понадобиться.