친구 기능 및 사용과 관련된 정보를 검토했습니다. 그들은 OOP의 황금률 중 하나를 위반하지 않으면 서 클래스 내의 캡슐화 된 데이터에 액세스 할 수 있습니다. I/O 연산자를 오버로딩하기위한 다양한 소스 코드를 제공하면서 (C++ 학습에서 처음 배운 기본 연산 중 하나 인) 모든 연산자는 클래스 외부에서 연산자를 친구로 정의합니다. 내 질문 :이 해야합니까? 왜 함수를 클래스의 public 멤버로 선언하고 캡슐화 된 모든 것을 유지하면서 클래스의 데이터를 삽입/표시해야합니까? 다른 연산자에 과부하가 걸리지 않는 것 같지만 I/O 연산자에 과부하가 걸린다고 가정합니다.친구 기능 및 I/O 운영자와의 관계
감사합니다.
[멤버 함수 또는 비 멤버 (친구) 함수로 오버로드 연산자가 가능한가?] (http://stackoverflow.com/questions/1905439/overload-operators-as-member-function-or-non -member-friend-function) –