Je ne suis pas encore très familier avec ceux-ci, mais peut-être quelqu'un peut faire la lumière sur cet exemple. Imaginez que j'ai la classe CFoo et qu'il y aura une fonction pour ajouter un gestionnaire et une fonction qui est un pointeur de fonction.Utilisation de pointeurs de fonction?
donc quelque chose comme ceci:
class CFoo {
int *pointedFunc(int a, int b) = 0;
void setFunc(int *func(int a, int b))
{
pointedFunc = func;
}
};
Compte tenu du contexte ci-dessus, je veux connaître la bonne façon de le faire. Je ne pense pas l'avoir fait correctement. Aussi, comment pourrais-je appeler à propos de pointedFunc?
Merci
Non "une * fonction * qui est un pointeur de fonction", mais "une variable membre * * (connue dans OO comme * champ *) qui est un pointeur de fonction". –
Veuillez éviter les pointeurs de fonction dans le code C++. Définir une interface et créer des types qui implémentent cette interface. Vous pouvez ensuite stocker des objets sans devoir recourir à C hocks-pockus de pointeurs de fonction. –
@Martin: Parfois, une interface est la bonne approche, parfois des foncteurs modélisés (et typés Duck), et parfois les pointeurs de fonction sont les meilleurs. Spécialement pour la liaison dynamique, des pointeurs de fonction sont nécessaires. –