// Classe lista: listc.cpp #include "listc.h" list *list::base = (list*) 0; // Definisco l'attributo statico dichiarato nella classe list *list::ElSearch (const void *el) { if (compare (el)) // Chiama 'compare', virtuale return Next () -> ElSearch (el); // Se non e' questa, cerca la prossima else return this; // Se e' questa, ha finito } list *Search (const void *el) { // Questa funzione friend richiama la ElSearch sulla base (statica) della lista, // pur essendo la base privata e la funzione ElSearch protetta return list::base -> ElSearch (el); // Se non e' questa, cerca la prossima }