介绍
- 在C++中,一个类中可以有public,protected,private三种属性的成员,这三种属性都可以通过类的成员函数进行访问;类对象质只可以访问到public属性成员;如果外部函数想访问protected,private属性成员,则需要借助友元来达到目的。
友元的目的
-
想通过外部函数,访问一个类中的public,protected,private的属性操作,达到跟类成员函数一样的访问权限
-
友元函数是不可以被继承的
哪些函数可以作为友元函数(friend)
- 友元函数可以是不属于任何类的非成员函数,也可以是其他类的成员函数。
1. 非成员函数声明为友元
- void func(Cat cat);函数不属于任何一个类的成员函数
class Cat {
friend void func(Cat cat