[c++] 멤버 함수 포인터

멤버 함수 포인터의 선언

멤버 함수 포인터를 선언하려면 다음과 같이 작성합니다.

// 클래스 정의
class MyClass {
public:
    void func(int);
};

// 멤버 함수 포인터 선언
void (MyClass::*funcPtr)(int) = &MyClass::func;

위의 예제에서 funcMyClass 클래스의 멤버 함수이고, funcPtrfunc를 가리키는 멤버 함수 포인터입니다.

멤버 함수 포인터의 사용

멤버 함수 포인터를 사용하여 함수를 호출하려면 다음과 같이 작성합니다.

MyClass obj;
(obj.*funcPtr)(10);  // 멤버 함수 호출

멤버 함수 포인터를 통한 다형성 구현

멤버 함수 포인터를 사용하면 가상 함수와 유사한 다형성을 구현할 수 있습니다. 런타임에 올바른 동작을 선택하는 데 사용될 수 있습니다.

멤버 함수 포인터는 C++의 강력한 기능 중 하나이며, 적절하게 활용하면 매우 유용합니다.

참고 자료: cplusplus.com - Member function pointers