Friend Class and Friend Function
Implementation
Code:
#include <iostream>
using namespace std;
// Forward declaration of class B
class B;
class A {
private:
int privateData;
public:
A() : privateData(10) {} // Constructor initializing privateData
// Declaring class B as a friend of class A
friend class B;
// Friend function declaration
friend void showPrivateData(A obj);
};
// Friend function definition
void showPrivateData(A obj) {
cout << "Private data from class A: " << obj.privateData << endl;
}
class B {
public:
void accessPrivateData(A& obj) {
cout << "Accessing private data from class A in class B: " << obj.privateData << endl;
}
};
int main() {
A objA;
B objB;
// Accessing private data of A using friend function
showPrivateData(objA);
// Accessing private data of A using friend class B
objB.accessPrivateData(objA);
return 0;
}
Output:
Output:
Private data from class A: 10
Accessing private data from class A in class B: 10