Salve ragazzi.
Sto incontrando difficoltà nella lettura da file con accesso sequenziale utilizzando i metodi c++ like e non c like.
questa è la mia classe arbitro (vi ricordo che è derivata dalla classe individuo quindi riporto prima quest'ultima)
INDIVIDUO:
Codice PHP:
#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 namestring surnameint age) {
        
nome name;
        
cognome surname;
        
eta age;
        }
        
//Distruttore
        
~individuo() {
        
cout << "Libero la memoria occupata...";
        }
}; 
ARBITRO
Codice PHP:
#include <iostream>
#include <string>
#include "individuo_class.h"
using namespace std;
//creo la classe arbitro derivata dalla classe individuo
class arbitro: public individuo {
public:
    
string origine;
    
//Costruttore di default
    
arbitro() {
    
nome "";
    
cognome "";
    
eta 0;
    
origine "";
    }
    
//costruttore
    
arbitro(string namestring surnameint agestring born):individuo(name,surname,age) {
    
origine born;
    }
    
void visualizza();
}; 
ora il file cpp con i metodi sulla classe arbitro (in praticolare riportato il metodo visualizza)
Codice PHP:
#include <iostream>
#include <string>
#include <fstream>
#include "arbitro_class.h"
using namespace std;
void arbitro::visualizza(){
    
fstream fs;
    
//apertura del file
    
fs.open("arbitri.dat",ios::in|ios::binary);
    if (!
fs.fail()) {
    
//Il file non esiste non posso visualizzare nessun elenco di arbitri
    //Restituisco un messaggio di errore
    
cout << "\n  Il file 'arbitri.dat' e' inesistente.\nNon e' stato inserito nessun arbitro!";
    } else {
    
//Il file esiste quindi è stato inserito almeno un arbitro.
    //Stampo i titoli delle colonne
    
cout << "Nome";
    
cout << "\tCognome";
    
cout << "\tEta'";
    
cout << "\tOrigine";
    
cout << "\n" << endl;
    
//Mostro i risultati ordinati per ordine crescente di inserimento
    
fs.read((char*)this,sizeof(*this));
    while(!
fs.feof(fs)){
        
cout << nome;
        
cout << "\t" << cognome;
        
cout << "\t" << eta;
        
cout << "\t" << origine;
        
cout << endl;
        
fs.read((char*)this,sizeof(*this));
    }
    }
    
fs.close();

Ricevo un errore per quando riguarda la riga while(!fs.feof(fs)){
in particolare mi avverte dell'impossibilità di sfruttare feof.
Come mai?