grazie.
Scusa se ho cambiato il tuo codice , non avevo capito.
Quindi dato che non posso spostare tutte le classi da esportare tra
/* tra qui */

/* e qui */

:
codice:
CFactory1Impl* CFactory1Impl::instance_ptr;
/* tra qui */

/* e qui */

CEntityDS* CFactory1Impl::CreateDS( int idOfObjectToCreate ) {
per motivi aziendali(è un qualcosa che c'è gia') , devo solo fare del refactoring (se si chiama cosi').
posso creare delle classi che derivano da tutte le interfacce che voglio usare e non implementano nulla tranne la funzione instance di creazione posizionate dove mi hai detto?
correggimi se sbaglio.

a questo punto nel mio main posso utilizzare le forward reference senza includere nulla?
ma un dubbio:
Se al suo interno una classe CBeamDsChess utilizza una classe esterna , cvector mettiamo ,come fa il compilatore a non includere quella classe ?
non è importante , ma vorrei capire bene il funzionamento.


grazie.