Modèle de fonction C ++ (avec exemple)

Table des matières

Dans ce didacticiel, nous allons découvrir les modèles de fonctions en C ++ à l'aide d'exemples.

Les modèles sont des fonctionnalités puissantes de C ++ qui nous permettent d'écrire des programmes génériques.

Nous pouvons créer une seule fonction pour travailler avec différents types de données en utilisant un modèle.

Déclaration de modèle de fonction

Un modèle de fonction commence par le mot-clé templatesuivi du (des) paramètre (s) du modèle à l'intérieur duquel est suivi de la déclaration de fonction.

 template T functionName(T parameter1, T parameter2,… ) ( // code )

Dans le code ci - dessus, Test un argument de modèle qui accepte différents types de données ( int, float, etc.), et typenameest un mot - clé.

Lorsqu'un argument d'un type de données est passé à functionName(), le compilateur génère une nouvelle version de functionName()pour le type de données donné.

Appel d'un modèle de fonction

Une fois que nous avons déclaré et défini un modèle de fonction, nous pouvons l'appeler dans d'autres fonctions ou modèles (comme la main()fonction) avec la syntaxe suivante

 functionName(parameter1, parameter2,… );

Par exemple, considérons un modèle qui ajoute deux nombres:

 template T add(T num1, T num2) ( return (num1 + num2); )

On peut alors l'appeler dans la main()fonction pour ajouter intet des doublenombres.

 int main() ( int result1; double result2; // calling with int parameters result1 = add(2, 3); cout << result1 << endl; // calling with double parameters result2 = add(2.2, 3.3); cout << result2 << endl; return 0; ) 
Appel de fonction basé sur les types de données

Exemple: recherche de la valeur absolue des nombres

 #include using namespace std; template T add(T num1, T num2) ( return (num1 + num2); ) int main() ( int result1; double result2; // calling with int parameters result1 = add(2, 3); cout << "2 + 3 = " << result1 << endl; // calling with double parameters result2 = add(2.2, 3.3); cout << "2.2 + 3.3 = " << result2 << endl; return 0; )

Production

 2 + 3 = 5 2,2 + 3,3 = 5,5

Articles intéressants...