> If default parameter values were dynamically bound,
compilers would have to come up with a way of determining the appropriate
default value(s) for parameters of virtual functions at runtime, which woiuld
be slower and more complicated than the current mechanism of determining
them during compilation. The decision was made to err on the side of speed
and simplicity of implementation, and the result is that you now enjoy
execution behavior that is efficient, but confusing.
Couldn't you store the default value in the same place you store the function pointer? I don't see why it would cost you anything at runtime.