Per esempio , un caso concreto:
Ho una serie di classi di oggetti per architettura :
1)muri
2)colonne
3)pilastri
4)solai
ciascuno di queste classi ha una polilinea , un insieme di punti che descrivono l'oggetto che devo importare.
Ogni punto è un insieme di float ,3 per precisione:x,y e z.
A seconda del parametro di rotazione devo poter ruotare tutti i punti della polilinea.
Ho pensato di creare un function object che prende come parametri i tre assi e ruota la polilinea.
questa funzionalità è esattamente identica per tutti e 4 gli elementi,
senza programmazione generica si puo' fare ereditare tutti questi elementi da una classe comune base in cui implementare la funzione di rotazione dei punti.
Con un function object penso basti definirlo e preso il container stl che contiene i punti con un for_each richiamare il function object e non sono piu vincolato da nessun tipo di ereditarietà oltre a poter usare range iteratori ecc..., è questo un vantaggio?
ma dove scrivo fisicamente il function object in un progetto ?
in un file con una classe per functore?
shodan mi ha piu volte detto che non sono due programmazioni una alternativa all altra e che il saper utilizzare a volte l'una a volte l'altra è il punto.
ma voi in questo caso concreto cosa utilizzereste e perchè?
ps. scusate se mi ripeto a volte , ma voglio capire .
grazie per la sopportazione.
ciao