The syntax around the virtual methods in the base class doesn't look correct.

Google 'abstract class c++'. Lots of info.