728x90
반응형
▣ 프렌드를 사용하는 이유 : 클래스, 함수, 멤버 간에 공유해야 할 상황이 있을 경우, 클래스의 private, protected 멤버를 접근해야 하는 특별한 경우
▣ 프렌드 함수 선언 방법 : friend void gameStart(Player); : 접근할 함수 반환형 앞에 friend키워드를 붙인다.
▣ gameStart(Player) : 코드처럼 접근할 클래스를 매개변수로 지정해야 한다.
▣ void gameStart(Player p) : 함수를 정의할 때에도 매개변수를 접근할 클래스로 정해준다.
▣ 프렌드 클래스 선언방법 : friend class Player2, 접근 권한을 줄 클래스를 선언할 때 맨 앞에 friend 키워드를 붙이고 선언한다.
▣ 프렌드를 선언할 때 클래스에 public, private 영역 모두 가능
▣ friend로 접근할 클래스 멤버함수에서 사용 경우 : void Player2::attack(Player1 p1)처럼 접근할 클래스를 매개변수로 지정해서 사용해야 한다.
▣ 만약 friend 키워드를 제거하면 이렇게 private 오류가 발생한다.
728x90
반응형
'[ C++ ] > - C++ 문법정리' 카테고리의 다른 글
C++ 17 [연산자 오버로딩] (0) | 2023.04.14 |
---|---|
C++ 16 [객체 반환] (0) | 2023.04.13 |
C++ 14 [유니폼 초기화] (0) | 2023.04.12 |
C++ 13 [함수오버로딩, 디폴트 매개변수] (0) | 2023.04.06 |
C++ 12 [복사생성자] (0) | 2023.04.06 |
댓글