ciao.
Ho una classe template MyClass e 2 classi che la configurano pippo e pluto.
Tutto il problema ruota attorno ad una funzione che crea MyClass e la configura con pippo o pluto.
Nel mio applicativo ho due classi , una per la logica(è polimorfica , instanzia un puntatore m_pApi che è collocato nella seconda classe) .
La logica esegue diverse operazioni , diverse per ogni categoria (tipi di importazione) e la seconda l'importatore vero e proprio che "si fa dare" i dati disaccoppiati(semplici strutture) dall api e crea gli oggetti veri e propri del mio importatore.
Se eseguo un comando del tipo:
e la getTemplate è del tipo:codice:m_pApi->getTemplate<MyClass>(xxx);
è chiaro che l'importatore non puo conoscere in anticipo se usero' pippo o pluto per configurare e ritornare il template MyClass.codice:template< class T > T GetTemplate(xxx) { if(/* logica della funzione semplificata con un if */) return MyClass<Pippo>; else return MyClass<Pluto>; }
Quindi come posso recuperare il template cosi ' com è configurato dall'api?
ho pensato di creare una variabile membro template con un getter, dopo chiamato GetTemplate setto questa variabile al valore MyClass<Pippo> o MyClass<Pluto> e la recupero , ma ancora non so definire i tipi.
Un altra soluzione sarebbe avere nell' api un puntatore all' importatore e andare a settare sull' importatore il template , qui saprei i parametri ma non so come procedere e comunque la lascerei come ultima soluzione in quanto devo avere questo puntatore e non vorrei.
Insomma sono poco pratico chiedo un aiuto.
ps. Infine in teoria,come si passa come parametro in genere un template?
grazie