You should go for separate.h and .cpp
Even if you guard for the include, that is still per compilation unit and you could inject your functions many times if your project has multiple files needing that .h
Then at link time the compiler will complain of multiple definitions of the functions.