Если класс Derived унаследован в частном порядке от класса Base, и класс Derived имеет функцию-друга f (), так что члены могут получить доступ к f () из класса Derived и Base.
class Base {
public:
int a;
protected:
int b;
private:
int c;
};
class Derived: private Base {
void friend f() {}
public:
int d;
protected:
int e;
private:
int f;
};
Я понимаю, что если класс унаследован в частном порядке от базового класса, то все является частным в производном классе.
Но почему в приведенном выше коде функция f () может обращаться к a, b, d, e, f, но не к?