0
votes

Appeler la méthode de classe avec type non identifié

J'ai une classe nommée myClass code> inscrit par une autre classe. Lorsque certains événements se produisent, myClass code> doit notifier les abonnés. J'essaie d'utiliser un modèle pour le type du souscripteur. Parce que je ne veux pas laisser les autres (qui sont en charge de la classe d'abonné) doivent prendre en charge la modification de myClass code> pour s'abonner. Donc, j'ai écrit des codes ci-dessous,

(m_subscriber)->onPositionChanged(position);


0 commentaires

3 Réponses :


0
votes

Vous devez définir une interface commune à tous vos abonnés, puis utilisez cette interface comme type de m_subscribe. Casting sauvagement Quel que soit le paramètre que vous recevez sur un type défini ne conduira qu'aux comportements non définis.


1 commentaires

Merci pour votre réponse. Je pense que je devrais garder à l'esprit le casting sauvage.



1
votes

Vous n'avez pas besoin d'utiliser un modèle pour cela. Utilisez simplement une classe de base pour vos abonnés. Et myClass fonctionne sur votre classe de base xxx


0 commentaires

0
votes

Utiliser std :: fonction : xxx

ceci donne à l'abonné la liberté de ce qu'elle veut souscrire. Par exemple: xxx


1 commentaires

Merci pour votre réponse. Je vais essayer d'adapter votre chemin plus tard. Je ne connais pas encore STD :: Foductures. Je dois étudier davantage.