Размещение объявлений друзей

Имеет ли значение, где в классе friend пункт помещен (то есть в protected блок в отличие от private блок)?

7

Решение

Нет.

class X
{
public:
friend class A;
private:
friend class B;
protected:
friend class C;
};

Все три класса теперь друзья X и разделить точно такие же привилегии.

Хорошим соглашением является объединение всех объявлений друзей для наглядности, но это просто стиль.

11.4 Друзья

9) Имя, назначенное декларацией друга, должно быть доступно в
область действия класса, содержащая объявление друга. Значение
Декларация о дружбе совпадает с декларацией о дружбе
появляется в private, protected или же public (9.2) часть класса
член-спецификации.

10

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]