I'm a Python developer learning C++. In Python there's no way to overload a function or a method - you just provide defaults. But in C++ you can have both, so when would you chose one over the other? Seems like defaults is always the better way to go: it reduces the amount of code and compiler overhead, but obviously I have no experience in this matter.
Edit: I, of course, researched before asking, but existing questions deal with specific issues/problems, whereas I'm trying to get a general understanding of how to think about C++.