Ответ 1
В принципе, производный класс наследует каждый элемент базового класса, за исключением:
* its constructor and its destructor
* its operator=() members
* its friends
Итак, нет. Друзья не наследуются.
Предположим, что у меня есть класс Base
:
class Base {
friend SomeOtherClass;
};
И есть другой (другой) класс, который наследует от Base
:
class AnotherClass : public Base {}
Унаследована ли дружба?
В принципе, производный класс наследует каждый элемент базового класса, за исключением:
* its constructor and its destructor
* its operator=() members
* its friends
Итак, нет. Друзья не наследуются.
Нет, это не так.
Изменить: Чтобы привести цитату из стандарта С++, раздел 11.4/8
Дружба не наследуется, ни транзитивно.
Нет, это не так, как описано здесь: http://www.parashift.com/c++-faq-lite/friends.html#faq-14.4