Le problème est principalement un problème de conception OOP. J'ai une classe qui gère la connexion et la communication avec le matériel (disons via USB) - CommClass
. Il a peu de méthodes - connect()
, disconnect()
, read()
, write()
. L'application elle-même a peu d'autres classes qui veulent communiquer avec la même classe CommWhist. La question - comment vous faites habituellement cela? J'ai quelques idées à l'esprit:Application C++ et communication matérielle
- Dans la classe mère ou en créer une instance principale de
CommClass
, appelezconnect()
et pas un pointeur sur toutes les classes (constructeurs). À la fin -disconnect()
. - Chaque méthode de chaque classe crée un objet
CommClass
dans la pile quand elle en a besoin. - ici le problème est qu'il doit appeler la méthodeconnect()
afin de demander une poignée à l'USB et ainsi de suite à chaque fois ... - Utiliser des méthodes statiques de
CommClass
...
Vous avez répondu à votre propre question. Il n'y a rien de différent à avoir CommClass partagé par plusieurs modules que d'avoir une variable simple partagée entre eux. La meilleure méthode est susceptible de le passer comme un pointeur vers tous les modules qui l'utilisent. – Lundin
Comme vous l'avez mentionné Lundin, vous avez une réponse. Si vous n'êtes pas satisfait de votre réponse, partagez votre énoncé de problème ici et en même temps revisitez le problème. Découvrez ce qui manque. La classe diagaram ou la conception est toujours basée sur l'énoncé du problème. Si l'énoncé du problème n'est pas clair, personne ne peut donner une bonne conception. – Kamahire