I don't know the actual term but it goes something like forward-declare function. For small program like yours you don't find a difference but if you have a lot of files and you intend to let other code call your function, it will be useful. You can put those function declaration in a .h file so other code will know what parameters to call your function. Then the actual function definition or implementation could be in some other .cpp etc files. That is, there is a segregation of interface and implementation thing here.