# 전역 함수에 대한 friend 선언
friend 선언을 통해서 private로 선언된 멤버 변수의 접근을 허용
#include <iostream>
using std::endl;
using std::cout;
class Counter
{
int val;
public:
Counter()
{
val = 0;
}
void Print() const
{
cout << val << endl;
}
friend void SetX(Counter &c, int val); //friend선언
};
void SetX(Counter &c, int val)
{
c.val = val; //private로 선언된 멤버 변수 접근
}
int main()
{
Counter cnt;
cnt.Print();
SetX(cnt, 2002);
cnt.Print();
return 0;
}
$ 4-6-1
0
2002
출처 : 윤성우의 c++프로그래밍(열혈강의)
'Language > C++' 카테고리의 다른 글
c++ literal class (c++11) (0) | 2015.02.13 |
---|---|
C컴파일러와 달리 C++컴파일러에서 함수 오버로딩이 가능한 이유? (0) | 2014.11.24 |
[c++] 함수선언 뒤 const (0) | 2014.06.20 |
[c++] 레퍼런스, reference, int &ref = val; 레퍼런스 변수, 별명! (0) | 2014.06.17 |
포인터의 용도 / 동적할당메모리 (0) | 2013.04.29 |