目录
一、友元的作用
二、实例说明
1. 友元方法
例:
2.友元类
例:
三、注意事项
一、友元的作用
1. 可以让一个类外 函数 或 类对象 访问一个 类内私有 成员或方法。
二、实例说明
1. 友元方法
例:
用friend 关键字在Tom 类中声明 了一个 OtherCheckMe 友元方法 ,之后在Tom类外对 OtherCheckMe 进行定义,便可以在 OtherCheckMe 中访问 Tom 类中的成员了。
class Tom
{friend void OtherCheckMe(Tom& man);private:int Checkage(){return age;}int age = 10;};
void OtherCheckMe(Tom & man)
{cout << "age = " << man.age << endl;
}
int main()
{Tom man0;OtherCheckMe(man0);return 0;
}
2.友元类
例:
用friend关键字在Tom 类中声明 一个 友元类,意思是,Him类中可以自由访问Tom类中的成员
class Tom
{friend class Him;private:int Checkage(){return age;}int age = 10;};
class Him
{
public:Tom man;void Checkage(){cout << man.age << endl;}
};
int main()
{Him Jack;Jack.Checkage(); return 0;
}
三、注意事项
1.一个函数可以是多个类的友元(适用于同一个函数需要操作多个类 )
2.能少尽量少用,他是,增加耦合度,破坏封装 / 突破封装的一种方式