E
Mit den get und set Funktionen meinst du einfach Funktionen mit denen ich einen Wert hinein bzw. heraushole in dieser Art:
int getAnzahl(void)
{
return Anzahl;
}
Ich habe meine Vectoren immer noch im public Teil untergebracht, da ich eigentlich die Funktionalität der Vectoren nutzen wollte in dem ich einfach die PushBack Funktion ausführe.
Bsp:
Te.Daten.push_back(int);
Sobald sie private sind, muß ich dafür gleich einige Funktionen schreiben, die das umkopieren, rausholen, sortieren...
Ich habe in der Zwischenzeit, bis du mir das virtual gezeigt hast, auch etwas anderes ausprobiert.
In den Klassen habe ich folgende Funktionen angelegt:
// Daten speichern
void speichern(ostream& out);
// Daten laden
void laden(istream& in);
Und in der cpp
void C1UOFreq::speichern(ostream& out)
{
// Daten an Ostream übergeben
Eigenschaft.speichern(out);
Freq.speichern(out);
Container[0].speichern(out);
}
void C1UOFreq::laden(istream& in)
{
// Daten an Ostream übergeben
Eigenschaft.laden(in);
Freq.laden(in);
Container[0].laden(in);
}
//---------------------------------------------------------------------------
So übergebe ich den ostream, bzw. den istream in die jeweilige Klasse und jede Klasse setzt dann einfach ihre Daten in den Stream bzw. holt sie sich.
void CElement::speichern(ostream& out)
{
// Daten an Ostream übergeben
out << name << " " << masseinheit << " " << pegelmasseinheit << endl;
}
Weiß jetzt nicht ob das eine saubere Lösung ist. Deine sieht eleganter aus. Aber ich bin froh, dass ich das hinbekommen habe, bis du mir den Tip mit virtual gegeben hast.
Wir hatten 3 Jahre lang C Unterricht und das höchste der Gefühle waren Strukturen. Im Vergleich zu dem was ich hier in diesem Forum in einem halben Jahr gelernt habe war das in der Schule Kinderkram.
Danke nochmal für eure Hilfe.
Viele Grüße und Frohe Ostern
egcactus