C++ Functions
A function is a block of code which only runs when it is called.
You can pass data, known as parameters, into a function.
Functions are used to perform certain actions, and they are important for reusing code: Define the code once, and use it many times.
Create a Function
C++ provides some pre-defined 
functions, such as main(), which is used to 
execute code. But you can also 
create your own functions to perform certain actions. 
To create (often referred to as declare) a function, specify the name of the function, followed by parentheses ():
Syntax
    void myFunction() {
  
  // code to be executed
}
 
Example Explained
- myFunction()is the name of the function
- voidmeans that the function does not have a return value. You will learn more about return values later in the next chapter
- inside the function (the body), add code that defines what the function should do
Call a Function
Declared functions are not executed immediately. They are "saved for later use", and will be executed later, when they are called.
To call a function, write the function's name followed by two parentheses () 
and a semicolon ;
In the following example, myFunction() is used to print a text (the action), when it is called:
Example
Inside main, 
call 
myFunction():
  // Create a function
void myFunction() {
  
  cout << "I just got executed!";
}
int main() {
  
  myFunction(); // call the function
  return 0;
}
// Outputs 
  "I just got executed!"
 
Try it Yourself »
A function can be called multiple times:
Example
  void myFunction() {
  
  cout << "I just got executed!\n";
}
int main() {
  
  myFunction();
  myFunction();
  
  myFunction();
  return 0;
}
// 
  I just got executed!
// I just got executed!
// I just got executed!
 
Try it Yourself »
Function Declaration and Definition
A C++ function consist of two parts:
- Declaration: the function's name, return type, and parameters (if any)
- Definition: the body of the function (code to be executed)
    void myFunction() { // declaration
  // 
    the body of the function (definition)
}
 
Note: If a user-defined function, such as myFunction() is declared after the main() function, 
an error will occur:
Example
  int main() {
  
  myFunction();
  return 0;
}
void myFunction() {
  
  cout << "I just got executed!";
}
// Error
 
Try it Yourself »
However, it is possible to separate the declaration and the definition of the function - for code optimization.
You will often see C++ programs that have function declaration above main(), 
and function definition below main(). This will make the code 
better organized and easier to read:
Example
  // Function declaration
void myFunction();
// The main method
int main() {
  
  myFunction();  // call the function
  return 0;
}
// Function definition
void myFunction() {
  
  cout << "I just got executed!";
}
 
Try it Yourself »
