C++ Friend 关键词
C++友元函数
通常,类的private(私有)成员只能通过公共方法(例如getter 和 setter)访问。但在某些情况下,您可以使用称为friend(友元)函数的特殊函数直接访问它们。
friend(友元)函数不是类的成员,但它可以访问类的私有数据:
示例
class Employee {
private:
int salary;
public:
Employee(int s) {
salary = s;
}
// 声明 friend 友元函数
friend void displaySalary(Employee emp);
};
void displaySalary(Employee emp) {
cout << "Salary: " << emp.salary;
}
int main() {
Employee myEmp(50000);
displaySalary(myEmp);
return 0;
}
示例详解
- 友元函数
displaySalary()在Employee类内部声明,但定义在类外部。 - 即使
displaySalary()不是类的成员,它仍然可以访问私有成员salary。 - 在
main()函数中,我们创建了一个Employee对象,并调用友元函数来打印其薪资。

