- 友元是c++中的一种关系
- 友元关系发生在函数与类之间或者类与类之间
友元关系是单向的,不能传递
在类中以friend关键字声明友元
- 类的友元可以是其他类或者具体函数
- 友元不是类的一部分
- 友元不受类中访问级别的限制
- 友元可以直接访问具体类的所有成员
class point
{
double x;
double y;
friend void func(point& p);
};
void func(point& p)
{
}
- 友元是为了兼顾c语言的高效而诞生的
- 友元直接破坏了面向对象的封装性
- 友元在实际产品中的高效是得不偿失的
友元在现代软件工程中已经逐渐被遗弃
友元关系不具备传递性
- 类的友元可以是其他类的成员函数
- 类的友元可以是某个完整的类
- 所有的成员函数都是友元