본문 바로가기

프로그래밍/TIL

11.30 friends function

Friend Functions in C++ | Use of Friend Function in C++ with Examples (mygreatlearning.com)

 

Friend Functions in C++ | Use of Friend Function in C++ with Examples

Friend Functions in C++: A friend function in C++ is defined as a function that can access private, protected, and public members of a class.

www.mygreatlearning.com

 언리얼의 FArchive 쪽을 보다가 friend 키워드가 function에 붙는 것을 보았다.

 훑어보니 friend class와 마찬가지로 private 접근 권한을 function에 부여하게 되는 것 같다.

 

 friend class의 경우에는 이해하기가 쉬웠는데, 어차피 function은 자기 자신에 대한 접근 권한을 가지니까 굳이..? 라는 생각이 들었다. 그런데 이게 자기 자신의 멤버 변수가 아닌 경우에도 적용이 되는구나.

 

class A
{
    int Value;
    friend int Plus(A, class B);
}
class B
{
    int Value;
    friend int Plus(A, B);
}
int Plus(A a, B b)
{
    return a.Value + b.Value;
}