Originariamente inviato da Gallagher
La mia classe deve, praticamente, gestire una lista di indirizzi IP (letti da un file esterno), prelevarne 4 alla volta (quindi ho una lista generica, da implementare fuori dalla classe (vero?), e una lista "specifica", formata dai soli 4 indirizzi IP), e per ogni IP deve effettuare delle operazioni.
Salvare i risultati, e rieffettuare le operazioni con nuovi indirizzi IP.

Per richiamarla, utilizzando le STL, posso richiamarla come se sia una normale funzione membro?
Quindi nomeoggetto.nomefunzionemembro?
perchè una generica da implementare fuori dalla classe ed una specifica con 4 indirizzi?
io metterei la lista come membro della classe, ed implementerei un metodo che prende 4 indirizzi alla volta, utilizzando un intero per "ricordarmi" dove sono arrivato nell'analizzare la lista

codice:
#ifndef GESTOREINDIRIZZI_H
#define GESTOREINDIRIZZI_H

#include <list>

class IndirizzoIp;      //<- da implementare, oppure fai una struct, o passi questi dati in qualsiasi altro modo

class GestoreIndirizzi
{
public:
    GestoreIndirizzi() {_lastIndx=0;}

    void init_lista();                       //inizializzi la lista inserendo i dati che ti servono
    void operazioniSuTuttiGliIp()
    {
        _lastIndx = 0;
        //chiami n volte preleva_quattroIp()
    }

private:
    void preleva_quattroIp()
    {
        //usi _lastIndx per sapere da dove partire per prendere il tuo Ip dalla lista
        //e chiami 4 volte operazioniSuUnIndirizzo(const IndirizzoIp& ip);
    }
    void operazioniSuUnIndirizzo(const IndirizzoIp& ip)
    {
        //fai le operazioni sul tuo indirizzo e salvi i risultati
    }

    std::list<IndirizzoIp> _myList;
    unsigned int _lastIndx;
};

#endif // GESTOREINDIRIZZI_H