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.