인프런 커뮤니티 질문&답변
9.2 입출력연산자
작성
·
358
0
입출력 연산자는 다른 연산자들과 다르게 클래스friend를 쓰지 않으면 문법적으로 오류가 되던데 왜 그런건가요?? 강의에서 잘 이해가 안가서요
답변 1
1
iostream은 사용자가 정의한 class가 아닌 c++에서 정의한 표준 객체이므로, 클래스가 서로 다르기 때문에 private 멤버에 접근하기 위해서는 friend를 선언해 줘야합니다.
따라서 입출력 연산자 오버로딩은 다른 연산자 오버로딩(산술 연산자, 단항 연산자 등)에서 멤버함수 버전과 비멤버함수 버전 둘 다 가능한 것과 달리, 오직 비멤버함수로만 오버로딩이 가능합니다.





