En C + + , un objet fonction est un objet de classe que vous pouvez utiliser en fonction . Il fonctionne de façon similaire à d'autres fonctions , sauf que vous utilisez l'opérateur d' appel de fonction pour transmettre des valeurs à la classe de l'objet. Par exemple, un objet fonctionnel peut prendre une série de chiffres , même si vous ne savez pas combien l'utilisateur devra fournir lorsque vous écrivez le code, et ajoutez-les ensemble pour sauver le résultat dans l'objet de classe . Utilisez
Pour utiliser un objet de fonction, vous devez d'abord définir et de créer une classe d'objet , puis créer une fonction appelée «exploitant» comme l'un des membres de la fonction publique. Si vous créez des variables membres privées , vous pouvez définir la valeur dans le constructeur de la classe , puis les modifier avec d'autres valeurs transmises par la fonction de l'opérateur. C + + a un avantage sur le langage de programmation similaire tels que Java, parce que ces autres langues ne permettent pas de surcharge d'opérateur .
Syntaxe
Vous créez des objets fonctionnent de manière similaire à tout autre objets dans un programme C + + . Vous définissez une nouvelle classe, puis créer des variables membres et des fonctions publiques et privées au besoin. Cependant, l'une des fonctions publiques dont vous avez besoin pour mettre en œuvre est l'opérateur d'appel de fonction , ce qui vous permet d'utiliser l'objet de classe dans votre programme en fonction . Dans le corps du programme, vous créez des objets fonctionnent de la même manière que tout autre objet, en tapant le nom de la classe , puis le nom de l'objet .
Appel opérateur
La fonction d' opérateur d'appel est ce qui rend un objet fonction différente des autres objets de classe . Syntaxiquement , vous devez utiliser deux paires de crochets pour créer une fonction de l'opérateur. Par exemple , en tapant " void operator () (int val1 ) {total + = val1 ;} ; " vous permet d'utiliser l'objet comme une fonction pour ajouter des valeurs à un total cumulé dans une variable membre de la classe. Vous pouvez ensuite utiliser cette variable total dans d'autres fonctions de classe .
Surcharge
surcharge de l'opérateur de fonction ne modifie pas comment vous appelez la fonction , il modifie la façon dont vous transmettez des valeurs à l'objet. Il permet de transmettre un nombre arbitraire d'arguments , ce qui aide si vous ne savez pas combien vous avez besoin pour passer à l'exécution. Par exemple, si vous avez un constructeur de classe qui ne prend que deux paramètres et avoir un opérateur d'appel de fonction qui prend trois , vous pouvez utiliser un objet de fonction existante pour initialiser une nouvelle, mais passer trois paramètres pour cela au lieu de deux . Cette surcharge le constructeur et force la fonction d'opérateur d'initialiser les valeurs.