Functions can be defined such that if an argument is not passed into the function, a default parameter may be used # [[C++]] - Best practice -> define in [[Functions#Prototypes| function prototype]] ```c // without default arguments double calc_cost (double base_cost, double tax_rate); double calc_cost (double base_Cost ,double tax_rate) { return base_cost += (base_cost * tax_rate); } int main() { double cost {0}; cost = calc_cost(100.0, 0.06); return 0; } ``` ```c // with default arguments double calc_cost (double base_cost, double tax_rate==0.06); double calc_cost (double base_cost, double tax_rate) { return base_cost += (base_cost * tax_rate); } int main() { double cost {0}; cost = calc_cost(200.0); // uses default argument cost = calc_cost(100.0, 0.08); // does not return 0; } ```