Les templates en C++
Fermé
yuri648
Messages postés
677
Date d'inscription
mardi 30 décembre 2008
Statut
Membre
Dernière intervention
20 mai 2015
-
Modifié par yuri648 le 10/01/2012 à 22:34
yuri648 Messages postés 677 Date d'inscription mardi 30 décembre 2008 Statut Membre Dernière intervention 20 mai 2015 - 10 janv. 2012 à 23:04
yuri648 Messages postés 677 Date d'inscription mardi 30 décembre 2008 Statut Membre Dernière intervention 20 mai 2015 - 10 janv. 2012 à 23:04
A voir également:
- Les templates en C++
- Teaching Templates Quiz Maker - Télécharger - Études & Formations
- Templates indesign gratuites (brochures, pub) ✓ - Forum InDesign
- C++ standard template library - Astuces et Solutions
2 réponses
KX
Messages postés
16753
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
25 novembre 2024
3 019
10 janv. 2012 à 22:39
10 janv. 2012 à 22:39
Tu peux faire de l'héritage.
Tu définis une classe Computable avec ta méthode Compute, puis tu fais de Logarithme et Cosinus deux classes filles, ensuite dans IterateOperation tu passes en paramètre un Computable& operation que tu pourras utiliser pour appeler Compute.
Tu définis une classe Computable avec ta méthode Compute, puis tu fais de Logarithme et Cosinus deux classes filles, ensuite dans IterateOperation tu passes en paramètre un Computable& operation que tu pourras utiliser pour appeler Compute.
yuri648
Messages postés
677
Date d'inscription
mardi 30 décembre 2008
Statut
Membre
Dernière intervention
20 mai 2015
7
10 janv. 2012 à 22:46
10 janv. 2012 à 22:46
ah ok merci beaucoup
donc qu'elle est l'avantage d'utiliser les template en parametre?
ou bien quand est ce que on utilise les templates ou bien l'heritage?
merci
donc qu'elle est l'avantage d'utiliser les template en parametre?
ou bien quand est ce que on utilise les templates ou bien l'heritage?
merci
KX
Messages postés
16753
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
25 novembre 2024
3 019
10 janv. 2012 à 23:02
10 janv. 2012 à 23:02
Les templates n'ont a-priori rien à voir avec le code que tu as mis plus haut.
En fait tous tes T sont des double dans ton code puisque log, et cos prennent en paramètre des double et renvoient des double.
Les template c'est quand on veut que notre classe ou notre méthode puisse être utilisé pour des types différents. Par exemple vector pour contenir des valeurs de n'importe quel type.
Ou alors une fonction de tri qui pourrait trier n'importe quoi...
L'héritage permet de décomposer ton code en arborescence. Si dans toutes tes classes tu utilises une méthode compute, c'est qu'elles sont liées les unes aux autres par cette méthode, tu peux donc définir cette méthode "en haut de l'arbre" des classes comme je l'ai dit tout à l'heure
En fait tous tes T sont des double dans ton code puisque log, et cos prennent en paramètre des double et renvoient des double.
Les template c'est quand on veut que notre classe ou notre méthode puisse être utilisé pour des types différents. Par exemple vector pour contenir des valeurs de n'importe quel type.
Ou alors une fonction de tri qui pourrait trier n'importe quoi...
L'héritage permet de décomposer ton code en arborescence. Si dans toutes tes classes tu utilises une méthode compute, c'est qu'elles sont liées les unes aux autres par cette méthode, tu peux donc définir cette méthode "en haut de l'arbre" des classes comme je l'ai dit tout à l'heure
yuri648
Messages postés
677
Date d'inscription
mardi 30 décembre 2008
Statut
Membre
Dernière intervention
20 mai 2015
7
10 janv. 2012 à 23:04
10 janv. 2012 à 23:04
ah d'accords merci bcp