C++ 함수 오버로딩


함수 오버로딩

함수 오버로딩 을 사용하면 여러 함수가 매개변수가 다른 동일한 이름을 가질 수 있습니다.

예시

int myFunction(int x)
float myFunction(float x)
double myFunction(double x, double y)

다른 유형의 숫자를 더하는 두 개의 함수가 있는 다음 예를 고려하십시오.

예시

int plusFuncInt(int x, int y) {
  return x + y;
}

double plusFuncDouble(double x, double y) {
  return x + y;
}

int main() {
  int myNum1 = plusFuncInt(8, 5);
  double myNum2 = plusFuncDouble(4.3, 6.26);
  cout << "Int: " << myNum1 << "\n";
  cout << "Double: " << myNum2;
  return 0;
}

같은 일을 해야 하는 두 개의 함수를 정의하는 대신 하나를 오버로드하는 것이 좋습니다.

아래 예에서 우리는 plusFunc에 대해 작동하도록 함수를 오버로드합니다 .intdouble

예시

int plusFunc(int x, int y) {
  return x + y;
}

double plusFunc(double x, double y) {
  return x + y;
}

int main() {
  int myNum1 = plusFunc(8, 5);
  double myNum2 = plusFunc(4.3, 6.26);
  cout << "Int: " << myNum1 << "\n";
  cout << "Double: " << myNum2;
  return 0;
}

참고: 매개변수의 수 및/또는 유형이 다른 한 여러 함수는 동일한 이름을 가질 수 있습니다.