Dipende da che grado di compromesso sei disposto a scendere.Originariamente inviato da giuseppe500
mi chiedevo se fosse possibile incapsulare tutto in una classe e restituire la classe????
Fosse per me deriverei le due classi da una intefaccia comune per poi fare un downcast sfruttando la RTTI del linguaggio o un cast controllato in base a un enumerato.
In ambedue i casi non te la cavi senza un puntatore allocato dinamicamente.
Il come non è semplice da spiegare, specie se parliamo di std::tr1::function. In ogni caso pure con loro il problema permane.so che è una sciocchezza ma come fanno ad esempio i function object ad incapsulare la funzione?
Si. Come? Indicando alla funzione che tipo dev'essere usato per istanziare MyClass.e se volessi passare solo pippo o solo pluto sarebbe possibile?
come?
grazie.
codice:template< class T > MyClass<T> getTemplate(xxx) { return MyClass<T>; } m_pApi->getTemplate<Pippo>(xxx); m_pApi->getTemplate<Pluto>(xxx);