C++ | friend keyword | Question 2

Last Updated :
Discuss
Comments

Predict the output the of following program. 

C
#include <iostream>
using namespace std;

class B;
class A {
    int a;
public:
    A():a(0) { }
    void show(A& x, B& y);
};

class B {
private:
    int b;
public:
    B():b(0) { }
    friend void A::show(A& x, B& y);
};

void A::show(A& x, B& y) {
    x.a = 10;
    cout << "A::a=" << x.a << " B::b=" << y.b;
}

int main() {
    A a;
    B b;
    a.show(a,b);
    return 0;
}
Compiler Error
A::a=10 B::b=0
A::a=0 B::b=0
Share your thoughts in the comments