La surcharge de fonctions permet de créer des fonctions avec différentes listes de paramètres utilisant le même nom, permettant une flexibilité du code. Les règles incluent : le nom de la fonction est le même, la liste des paramètres est différente et peut être de type ou de numéro différent. Par exemple, une classe qui calcule la surface contient des fonctions surchargées pour différentes formes, et la fonction correspondante peut être appelée pour calculer la surface en fonction du type de forme.
Analyse de l'utilisation de la surcharge de fonctions C++
Qu'est-ce que la surcharge de fonctions ?
La surcharge de fonctions permet la création de plusieurs fonctions avec différentes listes de paramètres utilisant le même nom. Cela rend le code plus flexible et réutilisable.
La syntaxe de la fonction surchargée
returnType functionName(parameterList1); returnType functionName(parameterList2); ... returnType functionName(parameterListN);
où :
returnType
est le type de retour de la fonction. returnType
是函数的返回类型。functionName
是函数的名称。parameterList
functionName
est le nom de la fonction. parameterList
est la liste des paramètres de la fonction.
Le type ou le numéro du paramètre dans la liste des paramètres est différent.
Cas pratique
Supposons que nous ayons une classe qui calcule l'aire, avec des fonctions spécialisées pour différentes formes :class Shape { public: virtual double area() const = 0; }; class Rectangle : public Shape { public: Rectangle(double width, double height): width(width), height(height) {} double area() const override { return width * height; } private: double width, height; }; class Circle : public Shape { public: Circle(double radius): radius(radius) {} double area() const override { return M_PI * radius * radius; } private: double radius; };
int main() { Shape* shapes[] = { new Rectangle(2.0, 3.0), new Circle(1.0) }; for (int i = 0; i < 2; i++) { std::cout << "Area of shape " << i << ": " << shapes[i]->area() << std::endl; } return 0; }
Area of shape 0: 6 Area of shape 1: 3.14159
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!