가상함수

    이펙티브 C++(261p ~ 270p)

    이펙티브 C++ https://www.yes24.com/Product/Goods/17525589 페이지 261p ~ 270p 이펙티브 C++(261p ~ 270p) 요약 항목 35: 가상 함수 대신 쓸 것들도 생각해 두는 자세를 시시때때로 길러 두자 tr1::function으로 구현한 전략 패턴 tr1::function 타입의 객체를 써서 함수 포인터를 대신하게 만들 수 있다. tr1::function은 함수호출성 개체(callable entity)를 가질 수 있고, 이들 개체는 주어진 시점에서 예상되는 시그니처와 호환되는 시그니처를 가지고 있다. class GameCharacter; int defaultHealthCalc(const GameCharacter& gc); class GameCharacter..

    이펙티브 C++(250p ~ 261p)

    이펙티브 C++ https://www.yes24.com/Product/Goods/17525589 페이지 250p ~ 261p 이펙티브 C++(250p ~ 261p) 요약 항목 34: 인터페이스 상속과 구현 상속의 차이를 제대로 파악하고 구별하자 인터페이스 및 기본 구현을 제공하는 함수를 별도로 마련하는 방법을 별로 좋아하지 않을 수도 있다. 이를 위해 순수 가상 함수가 파생 클래스에서 재선언되어야 한다는 사실을 활용하되, 자체적으로 순수 가상 함수의 구현을 준비해 둘 수 있다. class Airplane { public: virtual void fly(const Airport& destination) = 0; } void Airplane::fly(const Airport& destination) { //..