参考答案
结论:友元函数和友元类用于授予非成员函数或其他类访问当前类私有和保护成员的权限,打破封装以实现特定功能。要点:1.友元函数:在类内声明friend函数,该函数非类成员但可访问私有成员,常用于重载<<运算符或工具函数;2.友元类:在类A中声明friend class B,则B所有成员函数可访问A私有成员,适用于紧密耦合类如容器与迭代器;3.特性:友元关系单向、不传递、不继承,仅是编译期授权。示例:class Box{friend void print(Box&); int w;}; void print(Box& b){cout<<b.w;}