一、介绍
- 个人认为该函数的作用及时能够是: 非成员函数可以使用 私有的 成员变量
- 用途: 便于写 sort函数 和 优先队列 的 重载函数调用运算符()
二、 专业解释:
- 一个类中可以有 public、protected、private 三种属性的成员,通过对象可以访问 public 成员,只有本类中的函数可以访问本类的 private 成员。现在,我们来介绍一种例外情况——友元(friend)。
- 借助友元(friend),可以使得其他类中的成员函数以及全局范围内的函数访问当前类的 private 成员。
三、配合代码理解使用
3.1 非成员函数调用私有成员
class Student
{
private:
string name;
int age;
public:
Student(string name,int age) : name(name){
this->age = age;
}
friend void show(Student *pa);
};
inline void show