개발공부/C++
키워드 : friend
dyson_ok
2019. 10. 23. 12:20
#include <iostream>
using namespace std;
class B;//forward declalation
class A
{
private :
int m_value = 1;
friend void doSomething(A& a, B& b);
};
class B
{
private:
int m_value = 2;
friend void doSomething(A& a, B& b);
};
void doSomething(A& a, B& b)
{
cout << a.m_value << " " << b.m_value << endl;
}
int main()
{
A a;
B b;
doSomething(a, b);
return 0;
}
전방선언(forward declaration)을 사용하면 해당 코드가 어디있는지 찾아야 하는 불편함이 있지만 다소 복잡한 문제를 다루다 보면 종종 나올 수 있는 코딩 기법이다.