맴버함수포인터

프로그래밍 일반에 관한 포럼입니다.

Moderator: 류광

Locked
비회원

맴버함수포인터

Post by 비회원 »

함수 포인터에대해서 몇가지 궁금한게 있어서요..

아래와 같은 예제 코드에서 함수 포인터를 자신의 맴버 변수에 담는데,
자신 맴버함수 앞에 네임스페이스와 "&"를 꼭 붙여 줘야지만, 함수 포인터 변수에
들어가더라구요.

굳이 자기 함수인데 왜 네이스페이스가 들어가는지와,
&를 붙이게 되면 함수포인터의 주소값을 넣는다는건데...

이 부분이 이해가 잘 안됩니다.

Code: Select all

class AAA
{
public :  //함수
	AAA()
	{
		pCalcFunc[0] = &AAA::Add;
		pCalcFunc[1] = &AAA::Sub;
	}
	int Add( const int& _nLhs, const int& _nRhs )
	{
		return ( _nLhs + _nRhs );
	}

	int Sub( const int& _nLhs, const int& _nRhs )
	{
		return ( _nLhs - _nRhs );
	}

	typedef int (AAA::*PFUNCTION)( const int&, const int& );
	PFUNCTION pCalcFunc[2];
};

int _tmain(int argc, _TCHAR* argv[])
{
	AAA a;

	printf( "%d", a.Add(10, 10) );

	// 결과 값: 20

	return 0;
}
[/code]
Locked