Mi da 44 errori il compilatore se volete posto il codice completo:
Questa è la classe calciatore derivata da individuo
	Codice PHP:
	
#include <iostream>
#include <string>
#include "individuo_class.h"
using namespace std;
//creo la classe calciatore derivata dalla classe individuo
class calciatore: public individuo {
public:
    string squadra;
    int gol;
    string ruolo;
    //Costruttore di default
    calciatore() {
    nome = "";
    cognome = "";
    eta = 0;
    squadra = "";
    gol = 0;
    ruolo = "";
    }
    //costruttore
    calciatore(string name, string surname, int age, string team, int goals, string role):individuo(name,surname,age) {
    squadra = team;
    gol = goals;
    ruolo = role;
    }
    void capocannoniere();
}; 
 
Classe individuo
	Codice PHP:
	
#ifndef individuo_class_h
#define individuo_class_h
#include <string>
using namespace std;
class individuo {
    public:
        string nome;
        string cognome;
        int eta;
        //Costruttore di default
        individuo() {
        nome = "";
        cognome = "";
        eta = 0;
        }
        //Costruttore
        individuo (string name, string surname, int age) {
        nome = name;
        cognome = surname;
        eta = age;
        }
        //Distruttore
        ~individuo() {
        cout << "Libero la memoria occupata...";
        }
};
#endif 
 
codice per la funzione capocannoniere
 
	Codice PHP:
	
#include <iostream>
#include <string>
#include <list>
#include "calciatore_class.h"
using namespace std;
void calciatore::capocannoniere() {
 //Puntatore al file
FILE *filepunt;
if((filepunt = fopen("calciatori.dat","rb"))==NULL)
    { 
    //Il file non esiste non posso eliminare nessun calciatore
    //Restituisco un messaggio di errore
    cout << "\n  Il file 'calciatori.dat' e' inesistente.\nNon e' stata inserit nessun calciatore!";
} else {
    list<calciatore> lista;
    calciatore kicker_temp;
    //inserisco nella list tutti gli elementi
    while(fread (&kicker_temp ,sizeof(calciatore),1,filepunt) && !feof(filepunt)) 
    {          lista.push_back(kicker_temp);
    }
    struct SortProcess : public std::binary_function <calciatore, calciatore, bool> {
        
    bool operator()(calciatore &a , calciatore &b){
                    if(a.gol<b.gol){return true;}
                    return false;
            };
};
    lista.sort(SortProcess());
                    cout << "Nome";
                    cout << "\tCognome";
                    cout << "\tSquadra";
                    cout << "\tGol";
                    cout << "\n" << endl;
                    list<calciatore>::iterator it;
                    for(it = lista.begin(); it < lista.end(); it++){
                    cout << nome;
                    cout << "\t" << cognome;
                    cout << "\t" << squadra;
                    cout << "\t" << gol;
                    cout << endl;
    }
}
}