+ 1
Why not just use local variables?
I don't understand why you would give default values to a parameter variable. If the value does not have to be passed in the function call, why not just make it a local variable ?
2 Réponses
+ 1
Because if you do not want the default value you can still pass in a different value. For example:
int calcTicket( string movie, bool adult=true) {
if(adult)
//Calc normal price
else
//Give discount
..etc..
return price;
}
int main() {
int t1 = calcTicket("The Revenant");
int t2 = calcTicket("Finding Nemo", false);
If you made 'adult' a local variable, how would you do the above?
0
let me try to explain with an example: i've a class to open a file and write anything in it, and for testing purpose I set a default filename, like "test.txt", but if in the future i need to save it with a diferent name i just have to pass as a parameter, so my best way to explain the need for this feature is convenience and code reusability.