[c++] 멤버 함수 포인터
멤버 함수 포인터의 선언
멤버 함수 포인터를 선언하려면 다음과 같이 작성합니다.
// 클래스 정의
class MyClass {
public:
void func(int);
};
// 멤버 함수 포인터 선언
void (MyClass::*funcPtr)(int) = &MyClass::func;
위의 예제에서 func
는 MyClass
클래스의 멤버 함수이고, funcPtr
은 func
를 가리키는 멤버 함수 포인터입니다.
멤버 함수 포인터의 사용
멤버 함수 포인터를 사용하여 함수를 호출하려면 다음과 같이 작성합니다.
MyClass obj;
(obj.*funcPtr)(10); // 멤버 함수 호출
멤버 함수 포인터를 통한 다형성 구현
멤버 함수 포인터를 사용하면 가상 함수와 유사한 다형성을 구현할 수 있습니다. 런타임에 올바른 동작을 선택하는 데 사용될 수 있습니다.
멤버 함수 포인터는 C++의 강력한 기능 중 하나이며, 적절하게 활용하면 매우 유용합니다.
참고 자료: cplusplus.com - Member function pointers