달력

2

« 2025/2 »

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28

'c++'에 해당되는 글 11

  1. 2012.09.27 c++ strategy 패턴
2012. 9. 27. 00:05

c++ strategy 패턴 c++2012. 9. 27. 00:05

using namespace std;


class GameCharacter;


//체력치 계산에 대한 기본 알고리즘을 구현한 함수

int defaultHealthCalc(const GameCharacter& gc);

int myHealthCalc(const GameCharacter& gc);


typedef int (*HealthCalcFunc)(const GameCharacter& );

class GameCharacter{

public:

    explicit GameCharacter(HealthCalcFunc hcf = defaultHealthCalc):healthFunc(hcf){}


    int healthValue() const { return healthFunc(*this); }

    void setHealthCalcFunc(HealthCalcFunc hcf){ this->healthFunc = hcf; }

private:

    //함수 포인터 선언

    HealthCalcFunc healthFunc;

};


int defaultHealthCalc(const GameCharacter& gc)

{


    cout << "defaultHealthCalc" << endl;

    return 0;

}


int myHealthCalc(const GameCharacter& gc)

{

    cout << "myHealthCalc " << endl;

    return 0;

}



int main()

{

    GameCharacter gc;

    gc.healthValue();


    gc.setHealthCalcFunc(myHealthCalc);

    gc.healthValue();


    return 0;

}


'c++' 카테고리의 다른 글

c++ quiz4  (0) 2012.09.27
c++ quiz3  (0) 2012.09.27
Quiz2  (0) 2012.09.26
c++ struct와 class의 차이점...?????  (0) 2012.09.25
다형성과 tr1::shared_ptr을 이용한 벡터 사용  (0) 2012.09.25
:
Posted by НooпeУ


Code Start Code End