In most Object-Orientated languages (and other language types) a function returns a value. eg.
char function( parameters ) {
... // the function will do something with the parameters
return output; // and after it is done, it will return or 'give back' a value
}
in C++, you can tell what a function will return by looking at the first line.
>>> CHAR <<< function(parameters){...}; this function MUST return a variable of the same type as 'char'.
Now, to understand the reason behind 'returns' in layman terms, you can think of it as a TRADE.
If you were to go to a market, and you wanted to by a 2 pack of bubble gum, think of the return type as 'gum' and the parameter as 'money'. To get the gum, you must give the clerk the money to buy the gum. this is how the function would look:
GUM clerk ( money ){
clerk counts money to make sure it is the write amount
clerk hands you bubblegum <-- this is the return line. it would look like 'return bubblegum'
}
That is why there are return values. When you hand the clerk the money, wouldn't you expect what you paid for back? Sorry if this wasn't that clear.