다음을 통해 공유


Friend 함수

A friend 함수가 클래스의 멤버가 아니지만 클래스 전용 및 보호 된 멤버에 액세스 하는 함수입니다.Friend 함수는 클래스 멤버로 간주 되지 않아. 이러한 특수 액세스 권한이 주어 집니다 일반 외부 함수입니다.친구는 클래스 범위에 없는 및 멤버 선택 연산자를 사용 하 여 호출 되지 않는 (. 및->) 다른 클래스의 멤버가 아닌 경우.A friend 함수가 액세스 허용 되는 클래스에 의해 선언 됩니다.friend 선언을 저장할 수 있습니다 아무 곳 이나 클래스 선언에 있습니다.액세스 제어 키워드는 적용 되지 않습니다.

다음 예제는 Point 클래스 및 friend 함수, ChangePrivate.friend 함수에 대 한 액세스는 전용 데이터 멤버의 수를 Point 개체를 매개 변수로 받는.

예제

// friend_functions.cpp
// compile with: /EHsc
#include <iostream>

using namespace std;
class Point
{
    friend void ChangePrivate( Point & );
public:
    Point( void ) : m_i(0) {}
    void PrintPrivate( void ){cout << m_i << endl; }

private:
    int m_i;
};

void ChangePrivate ( Point &i ) { i.m_i++; }

int main()
{
   Point sPoint;
   sPoint.PrintPrivate();
   ChangePrivate(sPoint);
   sPoint.PrintPrivate();
}
  

참고 항목

참조

friend (C++)