(not rubbish only if zero initialized as static scope member.) and it works as expected on GCC!(((
So for code like:
#include
#include &
It appears to be a compiler bug: according to this report members of base classes are not zero-initialised during value-initialisation of the derived class.
As far as I can see, there is nothing wrong with your code, and all class members should be zero-initialised on a conforming C++03 or C++11 compiler.
I guess your options are: