C++中的友元
C++中的友元关系分为3种:
1:友元类
2:友元类成员函数
3:友元普通成员函数
1:友元类
class X{
friend class Y;
};
在类X的定义中,可以不必对友元类Y进行生命或者定义
2:友元普通成员函数
class X{
friend void f();
};
同上,在类X的定义中,不必对普通函数f()进行预先声明
3:友元类成员函数
例子1:
class X{
friend void Y::gety();
};
这是错误的
例子2:
class Y{
public:
void gety();
};
class X{
friend void Y::gety();
};
这是对的,但对gety()函数的定义必须放在对类X的定义之后