class 안에서 callback함수 사용과, callback 함수 안에서 class 멤버/함수 변수 접근하기
2008. 8. 20. 15:14 in My work space/Java

보통 class 안에서 선언된 callback함수는 접근이 안된다.
class T
{
public:
void CALLBACK test();
}
보통 이렇게 되어 있다고 하면 접근을 하기 위해서 static을 붙여주기도 한다.
class T
{
public:
static void CALLBACK test();
}
하지만... callback함수 안에서 다시 class 안에 있는 멈버 변수에 접근을 하지 못하게 된다.
내가 해결한 방법으로는
class 안에서 class 변수를 static으로 선언을 해주어서는 this 포인터로 접근하였다.
class T
{
private:
static T* m_pInstance;
public:
void CALLBACK test();
}
생성자에서는
T::T(void)
{
m_pInstance = this;
}
그리고 마지막으로 전역변수로
T* T::m_pInstance = NULL;
이렇게 하면 callback함수 안에서 class 암에 있는 멤버 변수에 접근이 가능하게 된다.
void CALLBACK T::test()
{
m_pInstance->변수이름;
m_pInstance->함수;
}
'My work space > Java' 카테고리의 다른 글
Log4J비용계산 (0) | 2008.08.20 |
---|---|
싱글톤패턴(Single Pattern) (0) | 2008.08.20 |
Junit 이란? (0) | 2008.08.20 |
JUnit 이클립스 사용 (0) | 2008.08.20 |
JUNIT 사용 가이드라인 (0) | 2008.08.20 |