185. Friend Function

Question.3

Class A declares B as a friend:

class A {
   int secret = 42;
   friend class B;  // B can access A's private members
};

class B {
   int data = 99;
public:
   void peek(A& a) { printf("%d", a.secret); }  // OK
};

// Can A access B's private data?
void test(B& b) {
   // printf("%d", b.data); // Is this allowed from A's methods?
}

If a member function of A tries to access b.data) (private in B), will it compile?

Need Help? Refer to the Quick Guide below

Select Answer