Modèle en C ++

Modèle en C ++
En C ++, les modèles sont des fonctionnalités puissantes. Cela nous permet d'écrire des programmes spéciaux. Cela signifie que nous pouvons créer une fonction unique ou une seule classe avec différents types de données sont utilisés à l'aide de modèles.

Caractéristiques du modèle

  1. Le modèle est un mot-clé en C++.
  2. Un modèle est utilisé pour définir le modèle de fonction et le modèle de classe.
  3. Le modèle est une procédure pour que nos fonctions ou nos classes se généralisent en ce qui concerne le type de données.

Classification des modèles

Il existe deux types de modèles disponibles en C++.

  1. Modèle de fonction
  2. Modèle de classe.

un. Exemple de programmation 1 du modèle de fonction

#inclure
Utilisation de Namespace Std;
void add (int x, int y)

couter<< “ Sum is :\n ”<< x+y << endl ;

int main()

ajouter (10, 15);
Ajouter (10.50, 10.25);

Sortir

Explication
D'après le programme ci-dessus, nous saurons pourquoi le modèle a-t-il besoin dans ce type de programme particulier.

Ici, nous définissons simplement une fonction d'ajout et deux valeurs entières sont passées comme un argument. Il imprime simplement la somme de ces deux variables.

À l'intérieur de la fonction principale, nous appelons la fonction ADD et passons deux valeurs 10 et 15. Il ajoute simplement ces deux valeurs et nous obtenons les valeurs 25.

Mais dans la deuxième fonction ADD lorsque nous passons deux valeurs de double type 10.50 et 10.25, alors le problème se produit dans le résultat de la somme. Parce qu'ici, nous passons deux doubles types de valeurs à l'intérieur des variables entières. En conséquence, il est montré un résultat incorrect.

Pour résoudre ce problème, nous introduisons le modèle.

b. Exemple de programmation 2 du modèle de fonction

#inclure
Utilisation de Namespace Std;
modèle // introduction du modèle de fonction
C Add (C x, C y)

couter<< “ sum is :\n”<< x+y << endl ;

int main()

somme (10, 15);
somme (10.50, 10.25);

Sortir

Explication
Où nous définissons la fonction d'ajout, nous écrivons le modèle de mot-clé. Ensuite, dans le support angulaire, nous écrivons un mot-clé de classe. Puis écrivez un porte-lieu nommé C. Après cela à l'intérieur de la fonction ADD où nous avons écrit le type de données entier, tous ces entiers sont remplacés par le porte-lieux C C. Ce support de place C sera remplacé par un type de données approprié lorsque nous passons les valeurs à l'intérieur de la fonction de somme.

Lorsque nous passons 10 et 15, C est remplacé par les valeurs entières mais dans le deuxième cas lorsque nous passons deux valeurs de type double 1.50 et 10.25, alors C sera remplacé par les doubles types de données. C'est l'avantage d'utiliser le modèle dans le programme.

c. Exemple de programmation 3 du modèle de classe

#inclure
Utilisation de Namespace Std;
Exemple de classe

privé :
int x, y;
public :
Exemple (int a, int b)

x = a;
y = b;

VOID TEST ()

If (x> y)

couter<< x<< “ is the largest number ”<< endl ;

autre

couter<< y<< “ is the largest number ”<< endl ;


;
int main()

Exemple OB1 (10, 15);
OB1.test () ;
Exemple OB2 (10.50, 10.25)
OB2.test() ;
retour 0;

Sortir

Explication
Ici, nous déclarons une classe appelée Exemple. Dans la classe, nous appelons l'exemple du constructeur et passons deux variables de type entier pour attribuer la valeur de la variable x et y. La fonction de test nous montre quelle valeur est la plus grande.

À l'intérieur de la fonction principale, lorsque nous passons deux valeurs 10 et 15 pendant la création de l'objet OB, il montre le résultat correct.

Mais dans le cas suivant, lorsque nous passons deux valeurs de type de données doubles dans les variables de type entier, cela montre un mauvais résultat.

Pour résoudre à nouveau ce problème, nous introduisons le modèle dans le programme suivant.

d. Exemple de programmation 4 du modèle de classe

#inclure
Utilisation de Namespace Std;
modèle
Exemple de classe

privé :
C x, y;
public :
Exemple (C A, C B)

x = a;
y = b;

VOID TEST ()

If (x> y)

couter<< x<< “ is the largest number ”<< endl ;

autre

couter<< y<< “ is the largest number ”<< endl ;


;
int main()

Exemple OB1 (10, 15);
OB1.test() ;
Exemple OB2 (10.50, 10.25);
OB2.test() ;
retour 0;

Sortir

Explication
Avant la définition de la classe d'exemples, nous écrivons une ligne:

Modèle < class C >

Comme nous l'avons discuté plus tôt, le modèle est un mot-clé. Puis à l'intérieur du support angulaire, nous écrivons la classe de mots clés, puis un support de lieu nommé C.

Après cela, chaque type de données entier doit être remplacé par C.

Lorsque nous passons deux types de types entiers 10 et 15, C est remplacé par les variables entières. Dans le cas suivant, lorsque nous passons deux doubles valeurs 10.50 et 10.25, alors C est remplacé par le type de données double.

L'avantage est que pour le type de données différent, nous n'écrivons pas de code différent.

Conclusion

Discuter en détail du concept de modèle, il est clair pour nous qu'en créant un modèle, nous pouvons travailler avec différents types de données dans un seul programme ou dans un programme généralisant.