프렌드 함수
class Some
{
friend void func();
....
};
클래스 선언부에 함수를 friend로 지정하면 클래스 내의 private 를 포함한 모든 멤버를 사용할 수 있다.
프렌드 클래스
class Some
{
friend class Any;
....
};
클래스 선언부에 클래스를 friend로 지정하면 Any의 멤버함수가 Some의 모든 멤버에 접근할 수 있다.
프렌드 멤버 함수
class Some
{
....
friend void Any::func(Some &S);
};
클래스 선언부에 멤버함수를 friend로 지정하면 Any의 func함수만 Some의 모든 멤버에 접근할 수 있다.
프렌드 멤버함수는 보통 대상 클래스를 인수로 가지고 있기 때문에 Some 클래스 원형 -> Any 클래스 정의부 -> Some 클래스 정의부 순서로 선언해야 한다.
'C++' 카테고리의 다른 글
| [C++] 복사 생성자 (0) | 2022.01.04 |
|---|---|
| [C++] 연산자 오버로딩 (0) | 2022.01.04 |
| [C++] 디폴트 인수 (0) | 2022.01.04 |
| [C++] 인라인 함수 (0) | 2022.01.03 |
| [C++] 레퍼런스 (0) | 2022.01.03 |