Dans les langages de haut niveau, on utilise la surcharge pour les fonctions, qui est utilisée dans des fonctions avec des fonctions différentes mais avec le même nombre de paramètres, et des modèles sont nécessaires pour différents types et le même nombre de paramètres
Applet C++
- #include<iostream>
- using namespace std;
- template <class T>
- T max(T a,T b)
- {
- return a>b?a:b;
- }
- int main()
- {
- int a,b;cin>>a>>b;
- cout<<max(a,b);
- return 0;
- }
Code de copie Voici un exemple simple : le mot-clé de type <classe T> est le début d’une structure de modèle, de sorte que nous n’avons pas besoin d’écrire plusieurs codes C++ avec la même fonction à répétition lors de la recherche de la valeur maximale Notez que lors de l’appel d’une fonction, son type est automatiquement associé. Il n’est pas nécessaire de le montrer. Ce qui précède est l’usage le plus basique, mais nous rencontrerons les situations suivantes
- #include<iostream>
- using namespace std;
- template <class T,class E>
- E max(T a,E b)
- {
- return a>b?a:b;
- }
- int main()
- {
- int a;float b;cin>>a>>b;
- cout<<max(a,b);
- return 0;
- }
Code de copie Que faire quand notre fonction a besoin de deux types différents, je pense que vous pouvez le comprendre après avoir lu le code ci-dessus. Mais quoi qu’il en soit, ce qu’ils ont en commun, c’est que les types sont automatiquement correspondants. En fait, nous avons aussi des erreurs : si nous ne pouvons pas bien faire correspondre le type, c’est-à-dire « la tête de taureau n’est pas bonne », alors l’appariement automatique du compilateur changera le type de paramètre selon les règles de conversion implicite de type, ce qui entraînera finalement une perte de précision du résultat. Regarde le code, tu peux essayer.
- #include<iostream>
- using namespace std;
- template <class T,class E>
- E max(T a,E b)
- {
- return a>b?a:b;
- }
- int main()
- {
- int a;float b;cin>>a>>b;
- cout<<max(a,b);
- return 0;
- }
Code de copie Le contenu ci-dessus n’est pas très difficile, mais il y a aussi beaucoup d’endroits à explorer, je ne connais pas vos avis |
|