?
Ich verstehe nicht, warum du zum einlesen, rausschreiben und berechnen Klassen verwenden möchtest. Es handelt sich hierbei schon im deutschen Wortgebrauch um Tätigkeitswörter. Klassen bzw. deren Objekte sind hingegen meiner Auffassung nach als Subjekte aufzufassen, Daten, denen mit einer gewissen Anzahl von Operationen eine Semantik zugeordnet wird. Wenn das einlesen, berechnen und schreiben der Punkte etwas ist, das sich ausschließlich auf diese Punkte bezieht (irgendwelche speziellen dinge), dann wäre zu überlegen, diese Funktionen als Member der Punkte-Klasse anzulegen. Hingegen macht es meiner Meinung nach überhaupt keinen Sinn, eine Klasse zu erstellen, die nur dafür zuständig ist, Daten für eine andere einzulesen oder zu schreiben.
Mein Pseudocode für dieses Problem sähe vielleicht so aus:
void lesePunkte( Punkte& p )
{
// ...
}
void schreibePunkte( Punkte& p )
{
// ...
}
void berechne( Punkte& p )
{
// ...
}
int main()
{
Punkte p;
lesePunkte( p, "datei.a" );
berechne( p );
// oder:
// p.berechneEtwas();
// falls sich die Operation nur auf Daten bezieht, die in den Bereich von Punkten fallen
schreibePunkte( p, "datei.b" );
return 0;
}
Dein Problem erkennt man schon daran, dass die gesamte Logik deiner Einlesen-Klasse in deren Konstruktor abgehandelt wird. In dem Objekt werden gar keine Daten verwaltet und mit einer übersichtlichen Schnittstelle nach außen repräsentiert - hier wird einzig und allein im Konstruktor eine Datei gelesen.