강의

멘토링

커뮤니티

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

패러그래프님의 프로필 이미지
패러그래프

작성한 질문수

홍정모의 따라하며 배우는 C++

9.4 비교 연산자 오버로딩 하기

9.2 입출력연산자

작성

·

358

0

입출력 연산자는 다른 연산자들과 다르게 클래스friend를 쓰지 않으면 문법적으로 오류가 되던데 왜 그런건가요?? 강의에서 잘 이해가 안가서요

답변 1

1

iostream은 사용자가 정의한 class가 아닌 c++에서 정의한 표준 객체이므로, 클래스가 서로 다르기 때문에 private 멤버에 접근하기 위해서는 friend를 선언해 줘야합니다.

따라서 입출력 연산자 오버로딩은 다른 연산자 오버로딩(산술 연산자, 단항 연산자 등)에서 멤버함수 버전과 비멤버함수 버전 둘 다 가능한 것과 달리, 오직 비멤버함수로만 오버로딩이 가능합니다.

패러그래프님의 프로필 이미지
패러그래프

작성한 질문수

질문하기