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