Friend 함수를 사용하면 외부 함수가 클래스의 비공개 또는 보호된 멤버에 액세스할 수 있습니다. 이는 클래스 간 공동 작업에 사용되며 코드 유연성을 향상하고 구현 세부 정보를 캡슐화합니다. 단점은 캡슐화를 파괴하고 결합도를 높이며 보안 문제가 있다는 것입니다. 실제 예: Counter 클래스는 Stats라는 친구 함수를 사용하여 보호된 increment() 메서드에 액세스함으로써 협력합니다.
Friend 함수는 외부 함수가 클래스의 private 또는 protected 멤버에 액세스할 수 있도록 하는 특수 함수입니다. 클래스와 다른 클래스 또는 기능 간의 협업을 지원하는 데 자주 사용됩니다.
객체 개수를 계산하는 데 사용되는 간단한 Counter
클래스를 예로 들어 보겠습니다. Counter
类为例,它用于计数对象:
class Counter { private: int count; protected: void increment() { count++; } };
为了让另一个类 Stats
访问 Counter
的受保护成员 increment()
,我们可以将它声明为 Counter
class Stats { public: void analyze(Counter& counter) { // Friend function can access protected method counter.increment(); } };다른 클래스가
Stats
에 액세스할 수 있도록 하기 위해 Counter
의 보호된 멤버 increment()
를 Counter
클래스의 친구 함수로 선언할 수 있습니다. int main() { Counter counter; Stats stats; stats.analyze(counter); // 友元函数被调用 return 0; }주 함수에서 , we 친구 기능이 어떻게 협력하는지 볼 수 있습니다: 🎜rrreee
위 내용은 친구 기능을 사용하면 어떤 장점과 단점이 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!