1 问题引入
在C++中 public、protected、private 可以定义不同方式的成员,对象可以访问public成员。但是如果你想访问private怎么办?
2 解决问题
a:友元函数
在类外定义,在当前类中声明。这样就构成了友元函数(这样就可以访问类中所有属性了 public、protected、private)
a.1
将非成员函数声明为友元。(注意,友元函数不同于类的成员函数,在友元函数中不能直接访问类的成员,必须要借助对象)
a.2
将其他类的成员函数声明为友元函数。
b:友元类
友元类中的所有成员函数都是另外一个类的友元函数。