Ho un problema in cui una varietà di classi in C ++ vorranno alcune funzionalità che non sono né una relazione "ha una" né una "è una". Il problema è che ci sono alcuni membri con funzioni associate che hanno a che fare con la gestione dei puntatori giocatore che alcuni menu e oggetti di gioco dovranno avere. Potrei copiare la funzionalità su tutti loro, ma preferirei iniettare la funzionalità come consiglio, in modo che la funzionalità sia condivisa. Le classi che richiedono la funzionalità non condividono un super nell'albero della classe.
Normalmente potrei usare qualcosa di simile all'orientamento dell'aspetto, creando un Aspetto che abbia tutte le funzionalità desiderate e aggiungendolo a tutte le classi come consiglio, ma a causa della base di codice C ++ in azienda non posso farlo.
C'è una buona soluzione "plain C ++" a questo che sto trascurando? (c ++ 11 permesso) In questo momento spero di usare le interfacce per fare qualcosa di simile.
modifica: sperimenterò ogni soluzione, magari facendo ulteriori domande e individuerò la soluzione migliore nei prossimi giorni. voglio dare questa considerazione approfondita per l'uso futuro.