C++ friend 关键字可以说是我个人最讨厌的一个关键字之一。
简单来说下面例子
class A
{
public:
friend class B;//这样在B类中可以随意访问A类中的私有变量age
friend void testouputA();//在全局函数testouputA可以随意访问A类中的私有变量age
friend void B::test();//这样在B类的成员方法test()中可以随意访问A类中的私有变量age
private:
int age;
};
这种为了访问而访问引出的友元函数和友元类,更像是设计之初未考虑到合理性的一种补救措施,不建议频繁使用,但是也算是必备了解项吧。