将一个类A再另一个类B的定义中声明(声明时加friend关键字),即该类A为定义类B的友元类。该类A的所有成员函数均是定义类B的友元函数(友元声明可以位于公用、私有、或者保护部分)。
例: class student {
friend class Operat ;
string name ;
double score ;
public :
.......
};
此时,Operat类为student类的友元类。
如果仅需某个类A中的一个或少量几个成员函数作为另一个类B的友元函数。则定义友元成员函数(在类B中声明类A的成员函数为类B的友元函数)。但需注意一定的顺序。要将Operat中的Add函数声明为student类的友元函数,请注意需要一定的顺序。
举例如下:class student ;
class Operat{
.........
};
class student{
friend Operat::Add ;
......
};