The Handler is a function (not a class), or am I completely tripping?
Just to be clear: the handler in the code AllEightUp posted is a std::function. That means you can use any callable object, whether it's a namespace-level (free) function, a member function, a lambda expression, or a class with an overloaded operator()(). It's very very expandable.
If you just want to use inheritance to implement a Handler interface, there's nothing stopping you, even using AllEightUp's code. Your base class can just use std::bind to connect the handler to the event.