Sinon sans avoir besoin de passer par Boost, on peut faire en sorte que la classe top< donne < topParam > donne > dérive d'une classe topBase :
topBase{
...
};
template< typename T >
class top : public topBase {
...
};
et garder
void test (top< topParam> &t) {
cout << "test passé" << endl;
}
mais bien sûr on n'a aucune grarantie que subTomParam hérite de topParam...et si test() à besoin d'acceder a subTopParam comme si c'était un topParam alors qu'en réalité subTopParam ne dérive pas de topParam, t'aura une erreur de compilation...
[^] # Re: erratum
Posté par ecyrbe . En réponse au message templates et héritage.. Évalué à 3.
Sinon sans avoir besoin de passer par Boost, on peut faire en sorte que la classe top< donne < topParam > donne > dérive d'une classe topBase :
topBase{
...
};
template< typename T >
class top : public topBase {
...
};
et garder
void test (top< topParam> &t) {
cout << "test passé" << endl;
}
mais bien sûr on n'a aucune grarantie que subTomParam hérite de topParam...et si test() à besoin d'acceder a subTopParam comme si c'était un topParam alors qu'en réalité subTopParam ne dérive pas de topParam, t'aura une erreur de compilation...