C++友元

类可以允许其他类或者函数访问它的非公有成员,方法是令其他类或者函数成为它的友元。

如果类想把一个函数作为它的友元,只需要增加一条以friend关键字开始的函数声明语句即可:

class classname{
    friend std::string func();        
}

需要注意的是,友元的声明仅仅指定了访问的权限看,而非一个通常意义上的函数声明。如果我们希望类的用户能够调用某个友元函数,那么我们就必须在友元声明之外再专门对函数进行一次声明。