default argument function signature change <p>I have a function whose current signature is f(a,b=0). I want to add another argument c. I want my function in such a way so that I can call f(a,b) which is currently the behavior and f(a,c). One way is to overload the function and duplicate the function code. I do not want to call f(a,b) from f(a,c). I am working in C++.</p> <p>Is there any standard design pattern or a solution which can avoid this code duplication ?</p>