C++ The Friend Keyword
C++ Friend Functions
Normally, private members of a class can only be accessed using public methods like getters and setters. But in some cases, you can use a special function called a friend function to access them directly.
A friend function is not a member of the class, but it is allowed to access the class's private data:
Example
class Employee {
  private:
    int salary;
  public:
    Employee(int s) {
      salary = s;
    }
    // Declare friend function
    friend void displaySalary(Employee emp);
};
void displaySalary(Employee emp) {
  cout << "Salary: " << emp.salary;
}
int main() {
  Employee myEmp(50000);
  displaySalary(myEmp);
  return 0;
}Example Explained
- The friendfunctiondisplaySalary()is declared inside theEmployeeclass but defined outside of it.
- Even though displaySalary()is not a member of the class, it can still access the private membersalary.
- In the main()function, we create anEmployeeobject and call the friend function to print its salary.
 
