If you define a method as virtual, the function definition has to exist in the header file or the linker complains. I
Silly me for posting without doing a proper search. This question has already been asked! nevermind me