Quote Originally Posted by ex-mortis
Why would they not need to recompile if the implementation has been changes?
From the point of view of the client code, the implementation has not changed. The header is exactly the same, so the resulting translation unit (header files + source file) is exactly the same. What you do need to do is to link to the new "real implementation", but that is different from re-compiling source code.