View Single Post
Old 21-05-2004, 23:56   #2
ri
Senior Member
 
L'Avatar di ri
 
Iscritto dal: Feb 2003
Cittā: fra casa e lavoro
Messaggi: 1061
Codice:
class Generica 
{
public:
     Generica(const char* nome) : _nome(nome)
     {}

     virtual ~Generica()
     {}

     virtual void metodo1() = 0;
     virtual int   metodo2(int p) = 0;
     virtual float metodo3() = 0;

     const char* nome() { return _nome.c_str(); }

protected:
     std::vector< std::vector<int> > _dati;

private:
     std::string _nome;
};

class Figlio1 : public Generica
{
public:
     Figlio1 : Generica("figlio1")
     {}

     void metodo1()
     {
           cout << "metodo 1 dell'oggetto " << nome();
     }

     int metodo2(int p)
     {
           cout << "metodo 2 dell'oggetto " << nome();
     }

     float metodo3()
     {
           cout << "metodo3 dell'oggetto " << nome();
     }
};

class Figlio2 : public Generica
{
public:
     Figlio2 : Generica("figlio2")
     {}

     void metodo1()
     {
           cout << "metodo 1 dell'oggetto " << nome();
     }

     int metodo2(int p)
     {
           cout << "metodo 2 dell'oggetto " << nome();
     }

     float metodo3()
     {
           cout << "metodo3 dell'oggetto " << nome();
     }
};
ri č offline   Rispondi citando il messaggio o parte di esso