in reply to Testing inherited classes

Wouldn't it be better for Base to have a constructor that would die with "Cannot instantiate an abstract class"?
Update: You can also create Base::Test in your test script. Thus you can test what Base is really designed to do - to provide abstract parent.