인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

인프런 커뮤니티 질문&답변

OneLine님의 프로필 이미지
OneLine

작성한 질문수

it 취업을 위한 알고리즘 문제풀이 입문 (with C/C++) : 코딩테스트 대비

75. 최대 수입 스케쥴(priority queue greedy: 구조체와 Vector를 이용한 정렬)

friend함수로 한다면,

작성

·

170

0

안녕하세요 강사님, 문제를 풀다 연산자 오버로딩오류로 구조체 내에서 

friend bool operator < (const Data &a, const Data &b) {
return a.date > b.date; //
}

이와같이 함수를 만들었습니다. 현재는 79번에 남겨주신 답변을 보고 이해한 상황입니다.

그런데, 강사님이 작성하신 코드로는 한줄 한줄 확인해볼 때 operator부분으로 넘어가지 않는데, 위 함수로는 operator로 넘어가 힙에 저장된 값들을 비교하는 과정을 거치고 원래 라인으로 돌아가는 것을 보았습니다. 

내부적으로는 동일하게 연산자 함수를 사용하나요? friend함수에서만 이와같은 일이 나타나는 이유는 무엇인가요?

답변 1

1

김태원님의 프로필 이미지
김태원
지식공유자

죄송합니다^^ 저도 잘 모르겠습니다. friend 키워드가 정보은닉을 완전히 무시하는 키워드라 그런게 아닌가 싶기도 합니다.

OneLine님의 프로필 이미지
OneLine

작성한 질문수

질문하기