본문 바로가기
C++

Function pointer로 클래스 멤버 함수 호출

by juheeL 2016. 12. 29.

참고 링크 : 

http://www.joinc.co.kr/w/Site/C/Documents/Using_Member_Function_Pointer



Function pointer로 클래스 멤버 함수 호출



실습 코드 : 

#include <iostream>

 

using namespace std;

 

class Fruit

{

public:

        void Apple(void)

        {

               cout << "i have an apple" <<endl;

        }

        void Pineapple(void)

        {

               cout << "i have a pineapple" <<endl;

        }

        void Pen(void)

        {

               cout << "i have an apple pen" <<endl;

        }

};

 

void main(void)

{

        Fruit A;

        Fruit *pB = new Fruit;

        void (Fruit::*FuncPApple)(void);

        void (Fruit::*FuncPPine)(void);

        void (Fruit::*FuncPPen)(void);

 

        FuncPApple = &Fruit::Apple;

        FuncPPine = &Fruit::Pineapple;

        FuncPPen = &Fruit::Pen;

 

        (A.*FuncPApple)();

        (A.*FuncPPine)();

        (A.*FuncPPen)();

 

        (pB->*FuncPApple)();

        (pB->*FuncPPine)();

        (pB->*FuncPPen)();

}


결과 : 

i have an apple

i have a pineapple

i have an apple pen

i have an apple

i have a pineapple

i have an apple pen