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;
}
}
}