//////////////////////////////////////////////////////////////////// class CStateMachine //déclaration de la classe { //! membres accessibles depuis l'extérieur de la classe, il s'agit de l'interface d'interaction de la classe public: //! Constructeur CStateMachine(); //! méthode pour redémarrer la machine à état void reset(); //! méthode pour cadencer la machine à état (faire 1 coup d'horloge) void clock(); //! méthode manipulateur pour fournir les entrées void setEntree(unsigned char entreeval) { entree=entreeval;} //! méthode manipulateur pour fournir les entrées individuellement void setEntreeBit(unsigned char nbit,unsigned char entreeval) { entree= (entree&~(1<>nbit)&1;} //! méthode accesseur pour accéder à l'état courant unsigned char getEtat() { return etat;} //! membres privés pour réaliser l'encapsulation: ces attributs sont inacessibles directement depuis l'extérieur de la classe private: //! numéro de l'état actif unsigned char etat; //! valeur des entrées unsigned char entree; //! valeur des sorties unsigned char sortie; }; ////////////////////////////////////////////////////////////////////