Expert Answer
In C++, we can call a function in different ways depending on the arguments passed to the function.
In case of default parameters, some default values are given to each parameter in the function prototype. The default values will be used when the values for the parameters are not passed during function call.
Otherwise, the passed values will overwrite the values of parameters and these values will be used inside the function.
For instance, for a function say, sum(int x = 6, int y = 3); i.e, default values of parameters x and y are 6 and 3 respectively. This function returns the sum of x and y.
The calling can be done as sum(5,8). In this case the values of x and y will be overwritten with values 5 and 4 respectively.
Another way of calling is, sum(5). In this case only the value of first parameter, x will be overwritten with 5 and value of y will be the default value 3.
And finally we can call it as, sum(). In this case no value is passed to the function. Therefore, default values for both x and y will be used as 6 and 3.
Program to demonstrate the above function calls:
#include <iostream>
using namespace std;
int sum(int x = 6, int y = 3);
int main()
{
int ans;
cout<<“for passing both values 5 and 8, sum is: “;
ans = sum(5,8);
cout<<ans;
cout << “nfor passing one value 5, sum is: “;
ans = sum(5);
cout<<ans;
cout << “nfor passing no values, sum is: “;
ans = sum();
cout<<ans;
return 0;
}
int sum(int x, int y)
{
return x+y;
}
OUTPUT: