Файлы заголовков нужны для деления программы на модули, т.е. если ты хочешь переместить функцию func1 из main.cpp в functions.cpp то тебе нужно создать хедер functions.h и вписать туда тип возвращаемого значения, название функции, и аргументы которые она принимает. Дальше просто делаешь инклюд в main.cpp и вызываешь ее где нужно.