Производные классы считаются друзьями? - PullRequest
5 голосов
/ 03 ноября 2010

Если я создаю базовый класс A, а A является другом класса B, может ли класс, производный от A, получить доступ по своему вкусу B или что ему разрешено?

Спасибо

Ответы [ 2 ]

8 голосов
/ 03 ноября 2010
struct A{};

struct Ader : A{};

struct B{
   friend struct A;
};

Нет. Дружба не наследуется в C ++. Это также не транзитивно.

Ader не может получить доступ к B в качестве друга, если B явно не дал ему дружбу только потому, что его база A является другом B.

1 голос
/ 03 ноября 2010

Нет, это не разрешено. Отметьте здесь .

...