티스토리 뷰
friend함수는, 클래스의 멤버함수가 아닌 다른 외부 함수에게 클래스의 모든 멤버를 접근할 수 있는 권한을 부여한다.
클래스의 멤버로 선언하기에는 무리가 있고, 클래스의 모든 멤버를 자유롭게 접근할 수 있는 함수를 작성할 때 쓰면 좋다.
프렌드 유형에는 3가지가 있다.
1) 전역 함수
예:
// 외부 함수 equals() 가져오기
class Rect {
...
friend bool equals(Rect r, Rect s);
};
2) 다른 클래스의 멤버 함수
예:
// RectManager 클래스의 equals() 가져오기
class Rect {
...
friend bool RectManager::equals(Rect r, Rect s);
};
3) 다른 클래스 전체
// RectManager 클래스의 함수 전체 가져오기
class Rect {
...
friend RectManager;
};
'PL > C++' 카테고리의 다른 글
[C++] template (0) | 2021.12.15 |
---|---|
[C++] Inheritance(상속) (0) | 2021.12.15 |
[C++] static 멤버 사용하기 (0) | 2021.12.15 |
[C++] overloading(오버로딩) vs overriding(오버라이딩), virtual function (0) | 2021.12.05 |
[C++] namespace 사용하기 (0) | 2021.11.05 |