友元
- 友元包括友元函数和友元类
- 如果将函数A(非成员函数)声明为类C的友元函数,那么在函数A内部就能直接访问私有成员变量
- 如果将类A声明为类C的友元类,那么在类A的所有成员函数都能直接访问类C的所有成员
class Point {
friend Point add(Point p1, Point p2); //声明友元,可以理解为是我的朋友就能访问
int m_X;
public:
...
}
Point add(Point p1, Point p2) {
return Point(p1.m_x ...);
}