In particular, the way most C++ implementations work implies that a change in the size of a base class requires a recompilation of all derived classes.
>
Formally, if you don't recompile you're violating the One Definition Rule, and get undefined behavior.
Practically, as long as the member function you modify hasn't been inlined anywhere, and you aren't changing the signature, you probably retain binary compatibility. On most platforms. If you're lucky, your platform documentation provides such a guarantee.