[C++ 문법] 'friend' 예약어
'friend' 예약어는 함수나 클래스 선언 앞에 작성할 수 있습니다. 'friend'로 선언한 함수나 클래스는 접근 제어 지시자의 영향을 받지 않습니다. 그리고 반드시 클래스 내부에서 friend 선언을 해야 합니다.
class MyData {
private:
int m_nData = 0;
public:
MyData(int nParam) : m_nData{ nParam } { /* do somthing */ }
int GetData() const { return m_nData; }
void SetData(int nParam) { m_nData = nParam; }
friend void PrintData(const MyData&); // PrintData() 함수는 이제 MyData 클래스의 친구입니다.
};
void PrintData(const MyData& rhs) {
// private 접근 제어에 있는 m_nData 변수에 직접 접근합니다.
cout << rhs.m_nData << endl;
}
void main() {
MyData a{ 10 };
PrintData(a);
}
'Programming > C C++' 카테고리의 다른 글
[C++ STL] '시퀀스 컨테이너 - list' (0) | 2019.05.27 |
---|---|
[C++ STL] '시퀀스 컨테이너 - vector' (0) | 2019.05.25 |
[C++ 문법] '추상 클래스' (0) | 2019.05.24 |
[C++ 문법] '소멸자 가상화' (0) | 2019.05.24 |
[C++ 문법] '가상 함수(virtual function)' (0) | 2019.05.23 |
댓글
이 글 공유하기
다른 글
-
[C++ STL] '시퀀스 컨테이너 - list'
[C++ STL] '시퀀스 컨테이너 - list'
2019.05.27 -
[C++ STL] '시퀀스 컨테이너 - vector'
[C++ STL] '시퀀스 컨테이너 - vector'
2019.05.25 -
[C++ 문법] '추상 클래스'
[C++ 문법] '추상 클래스'
2019.05.24 -
[C++ 문법] '소멸자 가상화'
[C++ 문법] '소멸자 가상화'
2019.05.24