본문 바로가기
[ C++ ]/- C++ 문법정리

C++ 15 [friend 함수, 클래스]

by MRG 2023. 4. 13.
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

댓글