友元函数
1. 不是本类内成员函数(将全局函数或其它类的成员函数声明为本类的友元函数)
2. 在本类内friend声明(它是我朋友,可以用我的东西),在类外定义
3. 可以调用本类内的所有属性和方法
class A {
private:
int p;
public:
friend void fun(A &a);
}
void fun(A &a) {
cout >> a.p;
}
友元类
1. 在类内部声明,在类外定义
2. 可以访问所有属性和方法
class AA; // 声明
class A {
private:
int p;
public:
friend class AA;
}
class AA {
void fun(A &a) {
cout >> a.p;
}
}