se le classe sono solo D1, D2 e D3 ti basta fare un controllo sul tipo dell'argomento e utilizzare degli if per restituire un ogetto dello stesso tipo.
Se non devi limitarti a D1, D2 e D3 ci vogliono meccanismi di riflessione che mipare c++ non abbia, a differenza di java in cui è possibile ottenere un oggetto Class che rapprsenta la classe di un oggetto, costruire sue istanze, istanziare un oggetto a partire dalla stringa che rappresenta il nome della classe ecc...

Rispondi quotando