Default Arguments in C++ Functions
C++
Function parameters in C++ can have a default argument. If the function is declared, the default argument is specified in the declaration - NOT the function definition.
If a function declaration contains a parameter with a default argument, all subsequent parameters must also have a default argument supplied.
If your function is not declared, the default argument can be specified in the function definition.
Example
// The function declaration contains the default parameter
int sum(int a, int b = 10);
// The function definition does not contain the default parameter
int sum(int a, int b)
{
return a + b;
}
// If there is no function declaration, the default argument is specified in the function definition:
double multiply(double a, double b = 10)
{
return a * b;
}
int main()
{
std::cout << sum(2) << std::endl;
// Outputs 2 + 10 = 12
std::cout << sum(2,2) << std::endl;
// Outputs 2 + 2 = 4
std::cout << multiply(2) << std::endl;
// Outputs 2 * 10 = 20
std::cout << multiply(2,2) << std::endl;
// Outputs 2 * 2 = 4
}
References
comments powered by Disqus