Iniettare più oggetti in C ++ ctor

0

Sto cercando un buon modo per iniettare in modo dinamico diversi oggetti nella classe principale e regolare il suo metodo tramite chiamate di queste dipendenze, ad es.

ComponentClass1
{
   updateSmth1();
};
ComponentClass2
{
   updateSmth2();
};
...
ComponentClassN
{
   updateSmthN();
};

E per ora ho bisogno di cambiare il codice e aggiornare il metodo ogni volta che aggiungo un nuovo componente come:

MainClass
{
   MainClass(ComponentClass1 &cc1, ComponentClass2 &cc2, ..., ComponentClassN &ccN);
   void update()
   {
      updateSmth1();
      updateSmth2();
      ...
      updateSmthN();
   }
};

C'è un modo migliore per riuscirci? Grazie!

    
posta Svitlana Lubenska 11.07.2016 - 12:02
fonte

1 risposta

2

Forse ha un'interfaccia con un metodo Update , come UpdateableComponent . Rendi i tuoi componenti ereditati dall'interfaccia e passa un List di UpdateableComponent al tuo ctor. Quindi, nella funzione MainClass update tutto ciò che devi fare è iterare sui componenti e chiamare update per ognuno.

    
risposta data 11.07.2016 - 16:47
fonte

Leggi altre domande sui tag