Nachdem die Daten gelesen und delegiert worden sind, kann das Objekt auch wieder gelöscht werden.
Rein Interesse halber: Auf dem Stack oder auf dem Heap?
Vllt. denk ich auch grad einfach in die falsche Richtung.
Ja, etwas. ☺ Wie wäre folgender Ablauf?
Du erstellt Chemistry, was ein ChemistryData als Attribut hat.
Im Konstruktor erzeugt Chemistry ein ChemistryReader
Chemistry ruft ChemistryReader::read und übergibt ChemistryData dabei
ChemistryReader füllt ChemistryData mit Daten
Was ist der Vorteil davon? ChemistryReader tut nur das, was er soll. Und ChemistryData gehört demjenigen, dem es gehören soll (Chemistry), wird also auch von ihm erzeugt und destruiert.
Gruß Dee
Hallo Dee, danke für die Rückmeldung. Eigentlich schon klar und logisch was du da sagst. Heißt also, chemistry erstellt mir das chemistryData Objekt und nicht der chemistryReader. Macht Sinn (:. Werde das heute - wenn ich Zeit finde - gleich mal umbauen. ALlerdings muss die chemistryData Klasse ja dann vor Chemistry für den Pre-Prozessor verfügbar sein, damit der Kompiler auch weiß wie viel Speicherplatz er für das Objekt zur Verfung stellen muss, oder?
Heap oder Stack → via New erstell ich meine neuen Objekte chemistryReader und chemistryData, ergo Heap. Chemistry selbst ist auf'm Stack, da ich das wie folgt anlege:
1 | Chemistry chemistryObj; |
Dee, danke für deine Hilfe. Macht echt Spaß und lern viel dabei.