Weil m_logEntries vom Typ long ist und die aktuelle Anzahl an Datensätzen vorhalten soll. m_Entries hingegen ist das Array mit den Datensätzen. Das ist es, was reserviert und auch freigegeben werden muss. Ich glaube da war ein Fehler bei euler. Du solltest das Programm auch mal probieren.
Original von ccc
Wisst ihr wie man so ein UML Diagramm erstellt ?
Ja. Schau dir einfach den Wikipedia-Artikel an und mache einen Vorschlag. Wir schauen dann drüber.
Gruß,
Karlito
ccc
Zeichnen Sie das UML-Klassendiagramm der Klasse CConsumptionLog (mit Initialwerten, Defaultwerten und
Zusicherungen) auf der Grundlage der in Aufgabenteil b) ergänzten Klassendefinition. Verwenden Sie den hier
dafür vorgesehenen Platz
Du musst den Speicher wieder freigeben, den du im Konstruktor dynamisch allokiert hast, also m_loggedEntries.
Und da es sich um ein Array handelt, solltest du delete[] verwenden.
PS: Karlito hat mich darauf hingewiesen, dass es this-> heißen muss, statt this., wenn man auf die Felder zugreifen will.
War mir nicht sicher ob ich logged Entries oder max Entries löschen sollte ?
eulerscheZahl
code:
1:
long m_loggedEntries = new long[m_maxEntries];
Das musst du dann mit delete wieder löschen.
ccc
Wie legt man Speicherplatz an ?
eulerscheZahl
Ich habe mir jetzt mal die Aufgabenstellung angeschaut: im Konstruktor musst du noch Speicherplatz für die Einträge (m_entries) anlegen. Den musst du dann im Destruktor auch wieder freigeben.
ccc
Im destruktor einfach delete maxEntries,
einfügen ?
Es sind weitere Beiträge zu diesem Thema vorhanden. Klicken Sie hier, um sich alle Beiträge anzusehen.