chatgpt의 도움을 받은 글입니다.


C++에서 friend는 클래스(또는 함수) 간의 접근 권한을 조절하기 위한 키워드이다.

friend로 선언된 함수나 클래스는 해당 클래스의 private 또는 protected 멤버에 접근 할 수 있게 된다.

 

1. 함수에 대한 접근 권한 부여

MyClass의 private 변수 secret에 접근할 수 있는 권한을 revealSecret 함수에 줬다.

class MyClass {
private:
    int secret = 42;

    // friend 선언
    friend void revealSecret(const MyClass& obj);
};

void revealSecret(const MyClass& obj) {
    // private 멤버에 접근 가능
    std::cout << "Secret is: " << obj.secret << std::endl;
}

 

2. 클래스에 대한 접근 권한 부여

MyClass의 private 변수 secret에 접근할 수 있는 권한을 FriendClass 클래스에 줬다.

class MyClass;

class FriendClass {
public:
    void accessSecret(const MyClass& obj);
};

class MyClass {
private:
    int secret = 123;

    // FriendClass의 모든 멤버함수에게 접근 권한 부여
    friend class FriendClass;
};

void FriendClass::accessSecret(const MyClass& obj) {
    std::cout << "Accessed secret: " << obj.secret << std::endl;
}

'공부 > C\C++' 카테고리의 다른 글

정규 표현식 with.C++  (0) 2026.03.17
jwt-cpp 사용하기 with.C/C++  (0) 2026.03.14
c++ 중괄호 초기화 Brace initialization  (0) 2025.07.13
c union  (0) 2025.07.05
c++ placement new  (0) 2025.07.04

+ Recent posts