c++友元全局函数、友元成员函数、友元类
1.友元函数
关键字:friend
特性:一个类的友元函数,可以访问到类中私有成员
- 推荐使用引用的方法取访问私有成员,更高效
- 友元的定义写在public下和private下都是正确的,不过为了直观应写在开头
2.友元成员函数
将一个类的成员函数声明为另一个类的友元
3.友元类
- 定义一个类为另一个类的友元类,在Circle类中定义一个Coordinate的对象,这个对象可以任意访问Coordinate的数据成员和成员函数
友元使用的注意事项:
- 友元关系不可传递
- 友元关系的单向性
- 友元声明的形式和数量不受限制
友元只是封装的补充,不是一种很好的语法
如果前期类设计巧妙,应当避开使用友元,因为友元破坏了封装性,同时也是一种定向暴露信息的思想。