서적/Effective C++

항목 35: 가상함수 대신 쓸 것들도 생각해 두는 자세를 시시때때로 길러 두자

박오이님 2022. 4. 7. 23:03

- 비가상 인터페이스 관용구를 통한 템플릿 메서드 패턴
    - 가상 함수는 반드시 private 멤버로 두어야한다.
    - 사용자로 하여금 public 비가상 멤버 함수를 통해 private 가상 함수를 간접적으로 호출하게 만드는 방법

- 함수 포인터로 구현한 전략 패턴
    - std::function
- 고전적인 전략 패턴
    - 한 쪽 클래스 계통에 속해 있는 가상 함수를 다른 쪽 계통에 있는 가상 함수로 대체