So your challenge are the class variables
BlockNot* BlockNot::firstTimer = nullptr;
BlockNot* BlockNot::currentTimer = nullptr;
Which get defined multiple times if you inject the cpp file into a source code file.
You should indeed just build a .h with the class declaration (prototype of the methods and member variables) and then have the cpp in which you define the class variables.