C의 Friend 선언 이해
C에서 friend 선언은 외부 클래스에 대한 액세스 권한을 부여하여 클래스 멤버에 대한 액세스를 제어하는 방법을 제공합니다. 그렇지 않으면 보호되거나 비공개인 데이터 및 기능.
혜택 및 사용 사례
Friend 선언은 다음과 같은 경우에 유용할 수 있습니다.
캡슐화 위반 방지
friend 선언을 사용한다고 해서 반드시 캡슐화가 중단되는 것은 아닙니다. 동일한 네임스페이스 내에 정의된 특정 외부 클래스에 액세스합니다. 캡슐화를 줄일 수 있지만 필요한 경우 개인 데이터의 공유를 제어할 수 있습니다.
예: 과부하된 운영자를 위한 친구 액세스
다음 시나리오를 고려하십시오. "Point"라는 클래스에 대한 사용자 정의 스트림 삽입 및 추출 연산자를 만듭니다. 이를 달성하기 위해 친구 선언을 사용할 수 있습니다.
class Point { int x, y; friend ostream& operator<<(ostream& out, const Point& point); friend istream& operator>>(istream& in, Point& point); }; ostream& operator<<(ostream& out, const Point& point) { out << "(" << point.x << ", " << point.y << ")"; return out; } istream& operator>>(istream& in, Point& point) { in >> point.x >> point.y; return in; }
이 접근 방식을 사용하면 표준 "<<"를 사용하여 Point 개체를 입력하고 출력할 수 있습니다. 그리고 ">>" 연산자는 클래스가 캡슐화되어 있더라도 가능합니다.
친구 선언 사용 지침
위 내용은 C의 Friend 선언이 클래스 멤버에 대한 액세스를 어떻게 제어할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!