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 |