열렬히.뛰기

Cpp module 01

école 42 > Cpp part.1 > 42 : Cpp 모듈 > Cpp module 01

ex00

ex01

ex02

ex03

  • Weapon 클래스를 만들 것
  • HumanA 클래스를 만들 것
  • HumanB 클래스를 만들 것

ex04

  • 객체를 만들어야 함.

ex05

멤버함수 포인터의 배열에는 함수 바인딩이 필요하다.

바인딩은 어떤 코드에서 함수를 호출할 때 그 해당 함수가 위치한 메모리 주소로 연결해주는 것을 의미한다.

cpp
// 멤버함수의 포인터 배열
void (Harl::*f[4]) (void) = {&Harl::debug, &Harl::info, &Harl::warning, &Harl::error};

// 멤버함수 포인터의 선언에는 반드시 클래스의 범위 지정이 필요
// 이렇게 해줘야 어떤 클래스의 멤버함수인지 알 수 있음.
// 클래스의 범위 지정 = 함수 바인딩

멤버함수의 포인터를 사용할 때는 반드시 →* 연산자를 사용한다.

cpp
(this->*f[i])();