友元函数
class stu
{
public:
friend int ret (stu my);
stu (int a=10)
{
this ->a =a;
}
private:
int a;
int b;
};
int ret (stu my)
{
return my.a;//定义友元后,外界函数也可以访问私有成员
}
int main(int argc, char *argv[])
{
stu my;
cout<<"a= "<<ret (my)<<endl;
return 0;
}
友元函数就是一个可以通过对象参数来访问私有成员的函数,换句话说就是它可以打破类的封装
友元类
若B类是A类的友员类,则B类的所有成员函数都是A类的友员函数
友员类通常设计为一种对数据操作或类之间传递消息的辅助类
是在两个类中,如果是友元类,就可以去访问友元类的私有属性