Fixed build problems due to virtual polymorphism.
If the base classes function is virtual, then the
dervied class only needs to re-instantiate it if it
overrides the base classes functionality. Redeclaring
the function (ctor/dtor in this case) will result in
build errors and headaches (but decent learning).