est-il possible de faire une fonction qui acceptera plusieurs types de données pour un argument donné?
L'écriture d'une fonction, je dois déclarer d'entrée et de sortie des types de données comme ceci:
int my_function (int argument) {}
Est-il possible de faire une telle déclaration, que ma fonction serait d'accepter une variable de type int, bool ou char, et peut la production de ces types de données ?
//non working example
[int bool char] my_function ([int bool char] argument) {}
source d'informationauteur rsk82
Vous devez vous connecter pour publier un commentaire.
Vos choix sont
ALTERNATIVE 1
Vous pouvez utiliser des modèles
La VARIANTE 2
Plaine de surcharge de fonctions
Vous fournir une fonction différente pour chaque type de chaque argument que vous attendez. Vous pouvez le mélanger la Variante 1. Le compilateur sera la bonne pour vous.
La VARIANTE 3
Vous pouvez utiliser de l'union
ALTERNATIVE 4
Vous pouvez utiliser le polymorphisme. Peut-être trop pour int , char , boolean, mais utile pour les plus complexes des types de classe.
de sortie:
Ou vous pouvez le faire:
Utiliser un modèle:
Ou tout simplement de surcharge:
lire ce tutoriel, il donne quelques beaux exemples http://www.cplusplus.com/doc/tutorial/templates/