Maison  >  Article  >  développement back-end  >  Quelles sont les règles de surcharge des fonctions dans la surcharge de fonctions C++ ?

Quelles sont les règles de surcharge des fonctions dans la surcharge de fonctions C++ ?

PHPz
PHPzoriginal
2024-04-14 09:45:01846parcourir

Les règles de surcharge des fonctions en C++ sont les suivantes : 1. La liste des paramètres est différente (numéro, type ou ordre) ; 2. Le nombre de paramètres doit être différent ; 3. Les types de paramètres sont différents ; est différent ; 5. les qualificatifs const et de référence n'affectent pas la surcharge.

C++ 函数重载中重载函数的规则是什么?

Règles de surcharge de fonctions en surcharge de fonctions C++

La surcharge de fonctions est une fonctionnalité puissante du langage C++, qui permet à plusieurs fonctions portant le même nom d'avoir des comportements différents en fonction de leurs listes de paramètres. Afin de garantir l'utilisation correcte des fonctions surchargées, les règles suivantes doivent être respectées :

1. Les listes de paramètres doivent être différentes

Les listes de paramètres des fonctions surchargées doivent être différentes en nombre, type ou ordre. Par exemple :

void print(int x);
void print(double y);

2. Le nombre de paramètres doit être différent

Les fonctions avec le même nombre de paramètres ne peuvent pas être surchargées. Par exemple :

// 错误,参数数量相同
void print(int x, int y);
void print(int a, int b);

3. Les types de paramètres doivent être différents

Les fonctions avec le même nombre de paramètres mais des types différents peuvent être surchargées. Par exemple :

void print(const char* s);
void print(int x);

4. L'ordre des paramètres doit être différent

Les fonctions avec un ordre de paramètres différent peuvent être surchargées même si elles sont du même type. Par exemple :

void swap(int& x, int& y);
void swap(double& a, double& b);

5. Les qualificatifs const et de référence n'affectent pas la surcharge

const et les qualificatifs de référence n'affectent pas la surcharge des fonctions. Par exemple :

void print(const int& x);
void print(int& y);

Cas pratique

Nous pouvons voir la surcharge de fonctions en action dans l'exemple de code suivant :

#include <iostream>

using namespace std;

void print(int x) {
  cout << "Integer: " << x << endl;
}

void print(double y) {
  cout << "Double: " << y << endl;
}

int main() {
  print(10);  // 调用 print(int)
  print(3.14); // 调用 print(double)
  return 0;
}

Sortie :

Integer: 10
Double: 3.14

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn