-
Effective C++...35일지 2022. 8. 6. 10:10
어떤 함수에 대해서도 상속받은 기본 매개변수 값은 절대로 재정의하지 말자
가상 함수와 기본 매개변수의 바인딩 차이
가상 함수의 경우 동적으로 바인딩되는 반면 기본 매개변수는 정적으로 바인딩된다.
즉, 파생 클래스의 가상 함수에서 기본 매개변수를 바꿨더라도 기본 클래스의 기본 매개변수 값을 사용하게 될 수도 있다.
이런 식의 도작이 발생하는 이유는 컴파일러의 메커니즘이 속도 유지와 구현 간편성에 무게를 두고 있기 때문이다.
※ 비가상 인터페이스 관용구를 사용해 기본 매개변수를 고정할 수 있다.