友元类:
class A
{
public:
friend class B;//B是A的成员函数 所以B得成员函数可以通过A的对象访问A的保护和私有成员
int aa;
private:
int aaa;
};
class B
{
public:
int dd;
void prinf()
{
a.aaa = 3;//可以访问A的私有和保护成员
a.aa = 9;
}
private:
A a;//定义A的对象
};
- 友元关系不可传递,不能继承,是单向的。
- 友元类是为了访问类的私有和保护成员