a me servirebbe la dichiarazione del metodo che permette di aggiungere nuovi componenti o modificarne di esistenti.. Provo ad abbozzare io qualcosa..
codice:
Class Base
{
      public:
               virtual void aggiungiComponente(string s)=0;
               virtual void modificaComponente(string s)=0;
}

Class Componente: public Base
{
      public:
               void aggiungiComponente(string s);
               void modificaComponente(string s);
      private:
                vector<string> componenti; //vettore contenente l'insieme dei componenti
}
Così va bene? conta che non mi serve al definizione dei metodi, ma solo dichiarazione