friend

-> private의 접근 권한을 타 클래스에게 허용하는 문법

-> 은닉화를 위반하는 문법이라 잘 사용하지않음.

 

friend를 사용하여 다른 클래스 호출

#include "Girl.h"
class CBoy
{
public:
	CBoy();
	CBoy(int _a, int _b);
	~CBoy();

public:
	void Func();
	void Girl_Func(CGirl* _girl);

private:
	int		m_iA;
	int		m_iB;


	friend class CGirl;	
};

friend를 사용하여 다른 클래스 안에 있는 함수 호출

#include "Girl.h"
class CBoy
{
public:
	CBoy();
	CBoy(int _a, int _b);
	~CBoy();

public:
	void Func();
	void Girl_Func(CGirl* _girl);

private:
	int		m_iA;
	int		m_iB;

	
	friend void CGirl::Boy_Func(CBoy* _boy);
};

 

friend 함수에서 호출된 클래스에서 호출한 클래스의 멤버 변수 및 함수에 접근이 가능하게된다.

CGirl : 호출된 클래스

CBoy : 호출한 클래스

 

'Programming > C++ Basic' 카테고리의 다른 글

C++ 객체 포인터  (0) 2020.09.17
C++ 상속성  (0) 2020.09.17
C++ this 포인터, extern 키워드  (0) 2020.09.16
C++ 복사 생성자(얕은 복사, 깊은 복사)  (0) 2020.09.16
C++ static과 클래스 , 멤버 함수  (0) 2020.09.15

+ Recent posts