Equivalent C++ du JAVA class C<T extends M>

Résolu
bbenator Messages postés 12 Date d'inscription lundi 21 juin 2010 Statut Membre Dernière intervention 31 août 2010 - 26 août 2010 à 09:45
bbenator Messages postés 12 Date d'inscription lundi 21 juin 2010 Statut Membre Dernière intervention 31 août 2010 - 31 août 2010 à 16:09
La question est dans le titre:

Java :


class C<T extends M>{
 
}


Et j'aimerai faire en C++ l'équivalent soit un truc du genre



template <class T: public M> class C{
 
}



si c'est possible faites le savoir

merci
A voir également:

2 réponses

cptpingu Messages postés 3837 Date d'inscription dimanche 12 décembre 2004 Statut Modérateur Dernière intervention 28 mars 2023 123
26 août 2010 à 20:55
Ce n'est pas possible. Tu es obligé de passer par une vérification post compilation (ou peut être en testant boost model checking, mais je ne l'ai jamais testé).

En utilisant un dynamic_cast ou un typeof, tu peux vérifier cette contrainte.

Non testé:
template <class T>
class C
{
  C(T obj)
  {
    assert(dynamic_cast<M*>(&obj));
  }
};

________________________________________________________________________
Historique de mes créations, et quelques articles:[ http://0217021.free.fr/portfolio
http://0217021.free.fr/portfolio]
Merci d'utiliser Réponse acceptée si un post répond à votre question
3
bbenator Messages postés 12 Date d'inscription lundi 21 juin 2010 Statut Membre Dernière intervention 31 août 2010 1
31 août 2010 à 16:09
j'ai réussi avec Boost merci de ta réponse
0
Rejoignez-nous