ciao.
Ho creato due template Pippo1 e Pluto1 e una classe template
di queste due variabili vado a settare:codice:class Pippo1 { public: Pippo1(){}; struct SubType{ static int n1; }; }; class Pluto1{ public: Pluto1(); struct SubType{ static int n1; }; }; template <typename T> class MyClass { public: MyClass(){} typename T::SubType * ptr; static int nValue; };
Pippo1::SubType::n1 = 1;
Pluto1::SubType::n1 = 2;
int nEntityID = -1, nEntityType ;
ora vorrei chiamando pApi->ImportEntityDS andare a settare il tipo per es vorrei poter fare:
MyClass<Pluto1> pBase;
e
int n = pBase.ptr->n1;//mi dovrebbe restiture 2
o
MyClass<Pippo1> pBase;
e
int n = pBase.ptr->n1;//mi dovrebbe restiture 1
solo vorrei settare il tipo passato a MyClass<???> all interno della funzione pApi->ImportEntityDS
il tipo all interno di pApi->ImportEntityDS lo sceglierei in compile time , ho capito
che i template agiscono solo in questo frangente.
è possibile?
come faccio a farmi restituire un tipo impostato all' interno della funzione?
T = pApi->ImportEntityDS(&nEntityID, &nEntityType, pBase);???
posso usare delle sorte di classi base coi template?
grazie.

Rispondi quotando