ciao.
passo alla domanda:
Ho 3 tipi di funzione 2d, circle, line e conic parametrizzate(che determinano l'andamento della funzione tramite un equazione, in questo caso line, circle e conic).
Ho bisogno di 3 funzioni che mi calcolino un vettore(punto 2d) a seconda dei parametri che gli passo.
per questo avevo pensato ad un pattern strategy , il problema è che le 3 funzioni che calcolano il vettore accettano parametri diversi.
Questo è un problema perchè avevo pensato di creare una classe base CBaseStrategy con una funzione calculate in cui incapsulo la funzione matematica che mi calcola il punto in modo diverso, e utilizzare in una classe che si occupa di estrarre dei dati da file di testo un puntatore polimorfico che puo essere una delle classi che ereditano da CBaseStrategy(una classe concreta) ma con funzione calculate diversa.
La creazione differente è data dall' input del file di testo , per es "CIRCLE" instanzia una classe strategy CCircle(che deriva da CBaseStrategy) ma poi tutto il resto del comportamento è identico, solo cambia la funzione parametrica.
il fatto quindi che ho parametri differenti(per es la linea ha bisognio di un double, il circle di due double e un raggio) non mi permette di creare una funzione virtuale con identica signature per le classi concrete(CIRCLE , LINE ecc..) e neanche posso creare una funzione che setta i parametri.
come posso fare ?
grazie.