1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40
|
class Visiteur {
public:
Visiteur();
~Visiteur();
template <class Retour, class Param>
Retour visite(Classe * n, const Param & p)=0;
template <class Retour, class Param>
Retour visite(Ident * n, const Param & p)=0;
template <class Retour, class Param>
Retour visite(Decls * n, const Param & p)=0;
template <class Retour, class Param>
Retour visite(Main * n, const Param & p)=0;
};
class ControleDeType : public Visiteur{
private:
int nbErreurs;
int* tabErreurs;
public:
ControleDeType();
~ControleDeType();
template <class Retour, class Param>
Retour visite(Classe * n, const Param & p);
template <class Retour, class Param>
Retour visite(Ident * n, const Param & p);
template <class Retour, class Param>
Retour visite(Decls * n, const Param & p);
template <class Retour, class Param>
Retour visite(Main * n, const Param & p);
}; |
Partager