Overloading a function with const reference parameters : function overload « Function « C++ Tutorial






#include <iostream>
using std::cout;
using std::endl;

double larger(double a, double b);
long larger(const long& a, const long& b);

int main() {
  double a_double = 1.5, b_double = 2.5;
  cout << larger(a_double, b_double) << endl;
 
  int a_int = 15, b_int = 25;
  cout << larger(static_cast<long>(a_int), static_cast<long>(b_int))<< endl;
  return 0;
}

double larger(double a, double b) {
  cout << "double larger() called" << endl;
  return a>b ? a : b;
}

long larger(const long& a, const long& b) {
  cout << "long ref larger() called" << endl;
  return a>b ? a : b;
}
double larger() called
2.5
long ref larger() called
25








7.12.function overload
7.12.1.Overload a function three times.
7.12.2.Overload function by parameter type: int, double and long
7.12.3.Overload functions with two parameters
7.12.4.Overloading functions with difference in number of parameters
7.12.5.Create overloaded print() and println() functions that display various types of data
7.12.6.Overload function with array type
7.12.7.Overloading a function with const reference parameters
7.12.8.Overloading a function with reference parameters
7.12.9.Default Arguments vs. Overloading
7.12.10.Finding the Address of an Overloaded Function