Bonjour,

Je débute en C++ avec les templates, le problème suivant est surement trivial.

j'ai un template de la forme :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
 
template <class MyType> class MyTemplate
{
    ...
}
Lorsque je l'instancie dans mon programme, je ne connais pas myType.

Je fais donc un switch sur le type :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
 
switch (type)
{
    case TYPE_A:
    {
        MyTemplate<TypeA> myTemplate;
        ...
    }
    case TYPE_B:
    {
        MyTemplate<TypeB> myTemplate;
        ...
    }
    ...
}
Je cherche un moyen de factoriser ce code, sachant que les opérations après l'instantiation du template sont les mêmes.

J'ai beau chercher, je ne trouve pas sur internet de solutions satisfaisantes.

Merci de votre aide.

Chris