N
Moin,
halb vier und ich bin auf ein neues Problem gestoßen
Aber erstmal danke an den Chemie-Fan. Habs hinbekommen.
In meinem Main Programm lade ich wie folgt Daten in die Kontainer:
//Hauptprogramm
int main()
{
int operation;
bool again=true;
string element_shortcut,material_name;
Elements elements;
elements.addElement("Al","Aluminium",5.5f);
elements.addElement("C","Carbon",7.7);
elements.addElement("Fe","Eisen",999.99);
elements.addElement("Ti","Titanium",50.0);
elements.addElement("Ni","Nickel",0.9);
MaterialComposition material1("Ti64");
material1.setComposition("Al",6.125);
material1.setComposition("C",0.875);
material1.setComposition("Ti",90.0);
material1.setComposition("Fe",3.0);
MaterialComposition material2("Ti6242");
material2.setComposition("Fe",5.0);
material2.setComposition("Al",40.0);
material2.setComposition("Ti",55.0);
MaterialComposition material3("A286");
material3.setComposition("Al",0.5);
material3.setComposition("Ni",99.5);
Materials materials;
materials.addMaterial(make_pair(material1.getMaterialName(),material1));
materials.addMaterial(make_pair(material2.getMaterialName(),material2));
materials.addMaterial(make_pair(material3.getMaterialName(),material3));
Die Klasse Elements verfügt über eine Methode, die Daten des Kontainers ElementsMap in einer Art Tabelle augibt.
Rufe ich diese Methode mit
elements.listElements();
aus dem Main direkt auf, wird alles ordnungsgemäß angezeigt. Eine weitere Funktion (getElementsSize) dieser Klasse liefert mir die Anzahl der gespeicherten Werte im Kontainer.
Jetzt passiert aber folgendes:
Rufe ich diese Methode aus einer anderen Klasse auf, wird mir gesagt, der Kontainer sei leer.
z.B.:
die Klasse Materials verfügt auch über eine Methode (listMaterials) welche alle Materialien tabellarisch darstellt. Diese verweisst jedoch wieder auf die Methode zur Darstellung der einzelnen Elemente.
Im Main Programm steht also nur:
materials.listMaterials();
In der Klasse Materials steht:
class Materials
{
...
void listMaterials()
{
...
(*iter).second.listElements();
};
};
Mach ich es so, ist der Kontainer leer und bei mir gehts net weiter
Bitte um Ideen... Danke
Geh jetzt pennen... Gute nacht!