C++ функції перезапис


Перезапис функції

Перезаписані функції можуть мати кілька функцій з однаковими іменами і різними параметрами:

int myFunction(int x)                   // перезапис функції myFunction
float myFunction(float x)               // перезапис функції myFunction
double myFunction(double x, double y)   // перезапис функції myFunction

Розглянемо наступний приклад, в якому є дві функції, які додають число різних типів:

#include <iostream>
using namespace std;

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);             // Int: 13
  double myNum2 = plusFuncDouble(4.3, 6.26);  // Double: 10.56 

  cout << "Int: " << myNum1 << "\n";
  cout << "Double: " << myNum2;
  return 0;
}

// RESULT:
Int: 13
Double: 10.56 

Замість визначення двох функцій, які повинні робити те ж саме, тоді краще перезаписати одну.

У наведеному нижче прикладі ми перевантажимо plusFunc функцію, щоб працювати як для цілих чисел і дробових:

#include <iostream>
using namespace std;

int plusFunc(int x, int y) {             // функція plusFunc з параметрами типу int 
  return x + y;
}

double plusFunc(double x, double y) {    // перезапис функції plusFunc параметрами типу double 
  return x + y;
}

int main() {
  int myNum1 = plusFunc(8, 5);               // Int: 13
  double myNum2 = plusFunc(4.3, 6.26);       // Double: 10.56 

  cout << "Int: " << myNum1 << "\n";
  cout << "Double: " << myNum2;
  return 0;
}

// RESULT:
// Int: 13
// Double: 10.56 

Примітка: Багато функцій можуть мати таке ж ім'я, поки число і / або тип параметрів різні.


Наш партнер:
beta test mp3 playlist downloader