Le polymorphisme vous permet d'écrire du code qui peut fonctionner avec différents types de données sans spécifier explicitement chaque type. C fournit plusieurs mécanismes pour réaliser le polymorphisme :
Surcharge :
void f(int x); // overload for int void f(double x); // overload for double
Modèles :
template <typename T> void f(T& x); // template for any type T
Virtuel Dispatch :
struct Base { virtual void g() = 0; // pure virtual function }; struct X : Base { virtual void g() { // overrides g() for X // ... } }; // ... void h(Base& b) { b.g(); // run-time polymorphic call }
Polymorphisme ad hoc
Utilisé lorsque le nombre de types pris en charge est limité et doit être explicitement spécifié.
Paramétrique Polymorphisme
Utilisé lorsque le code est écrit de manière générique sans spécifier de types spécifiques, lui permettant de fonctionner avec n'importe quel nouveau type.
Par Timing :
Par pris en charge Types :
Dans la norme C, « polymorphe » fait uniquement référence au polymorphisme d'exécution utilisant la répartition virtuelle. En informatique générale, « polymorphique » a un sens plus large.
Le polymorphisme en C permet la création d'un code réutilisable et indépendant du type qui peut être appliqué à un large éventail de types de données. En comprenant les différents types et mécanismes disponibles, vous pouvez exploiter efficacement le polymorphisme pour améliorer la flexibilité et l'efficacité de votre code.
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!