Best way to use a static function library in c++? Instancing etc...

The ‘~’ character denotes the destructor of the class. I don’t think you actually need it, I usually add it just in case I need it later.
It’s virtual so that any derived class destructors are called in order when a pointer to a base class is deleted.