기초 C++ 스터디/객체지향
8-2. 함수 포인터(2)
0. 이전 방식의 한계점 이전 함수 포인터(1)에서 사용한 방법은 정적 함수와 전역 함수만 넣을 수 있다. 1. 멤버 함수 포인터 class Knight { public: int GetHp(int, int) { return _hp; } public: int _hp; }; typedef int(Knight::*PMEMFUNC)(int, int); int main() { Knight k1; PMEMFUNC mfn; mfn = &Knight::GetHp; (k1.*mfn)(1,1); } mfn이 함수 타입이라는 것을 알리기 위해서 k1.*mfn 의 문법을 사용한다. 2. 동적 할당에서 멤버 함수 간접 호출 //~~ Knight* k2 = new Knight; (k2->*mfn)(1, 1); delete k2; }
2023. 6. 8. 15:32