如何使用友元函数
最简单的使用
class A
{
int val;
int id;
public:
A(int a, int b)
{
val = a;
id = b;
}
friend void func(const A a);
};
void func(const A a)//原本这个函数时不能访问a的val 因为val是私有成员变量 但是作为友元之后就可以访问了
{
cout << a.val;
}
int main()
{
A a(3, 4);
func(a);//不能写成a.func();因为func并不是a的成员函数
}
还有重载运算符会用到友元
运算符重载
为什么要是用友元
友元的目的就是为了让外部的函数放进类中的时候可以访问私有函数
友元函数的特点
类中的友元函数并不属于类
友元函数可以在类内或类外实现
友元函数可以直接访问类中的私有成员但是没有this指针