티스토리 뷰

PL/C++

[C++] friend function

SweetDev 2021. 12. 15. 20:58

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
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/10   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31
글 보관함