I had the hardest time understanding this when I first started programming.
Let me give you a simple example...
Lets say this file is called Functions.h
Now in that file you have declared prototypes for your functions.
the #ifndef #define is what keeps the functions from being declared more than once. Its saying "Hey, if this file was already declared... nevermind!"
Here is a file called Functions.cpp
Now that file defines the functions.
//+---Code for the function---+
std::cout << "Hello";
and here is main.cpp
If theres anything about that you dont understand let me know
//+--"Import" your functions---+
Func2(); //+---This will print "Hello" to the screen---+