友元
- 友元可以直接拿数据,而不需要通过函数。拿数据的动作就像成员函数一样。
class A {
private:
int a, b;
public:
...
int getA() const { return a }
//声明友元
friend void foo(A& value);
};
// 没有加 A:: 说明不是 A 的成员函数。
void foo(A& value) {
cout << value.a;
}
- 相同 class 的各个 object 互为友元
class A {
private:
int a;
public:
// 可以这么做
void foo(const A& tmp) {
cout << tmp.a;
}
};
A a1, a2;
a1.foo(a2);
网友评论