Maison > Article > développement back-end > Quelles sont les règles de surcharge des fonctions dans la surcharge de fonctions C++ ?
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.
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!