La question est dans le titre:
Java :
Et j'aimerai faire en C++ l'équivalent soit un truc du genreCode:
1
2
3 class C<T extends M>{ }
si c'est possible faite le savoirCode:
1
2
3 template <class T: public M> class C{ }
merci
Version imprimable
La question est dans le titre:
Java :
Et j'aimerai faire en C++ l'équivalent soit un truc du genreCode:
1
2
3 class C<T extends M>{ }
si c'est possible faite le savoirCode:
1
2
3 template <class T: public M> class C{ }
merci
Un mélange de boost::enable_if et de boost::type_trait devrait faire l'affaire.
Ok merci, j'avais vu cette solution mais je pensais qu'il existait plus simple, sans utiliser de librairies annexes
En fait en C++ le type de ton template n'a pas à vérifier de critères particulier à part de répondre correctement à la manière dont il est utilisé par la suite.
En gros tu vérifies que le type passé est bien le bon parce que dessus tu vas utiliser des méthodes particulières.
Après peut être que ça ne te suffit pas, mais dans la grande majorité des cas c'est suffisant ( et c'est voulu comme ça, pour rester générique ).
Reste à savoir si tu fais ça juste pour coller au java ( mais ce n'est pas le même langage! ) ou si tu en as vraiment besoin.
j'ai utilisé boost et ca fonctionne !