Registrierung Kalender Mitgliederliste Teammitglieder Suche Häufig gestellte Fragen Zur Startseite

Informatiker Board » Themengebiete » Theoretische Informatik » Automatentheorie » C++Aufgabe » Hallo Gast [Anmelden|Registrieren]
Letzter Beitrag | Erster ungelesener Beitrag Druckvorschau | An Freund senden | Thema zu Favoriten hinzufügen
Seiten (2): « vorherige 1 [2] Neues Thema erstellen Antwort erstellen
Zum Ende der Seite springen C++Aufgabe
Autor
Beitrag « Vorheriges Thema | Nächstes Thema »
eulerscheZahl eulerscheZahl ist männlich
Foren Gott


Dabei seit: 04.01.2013
Beiträge: 2.859

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

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.

__________________
Syntax Highlighting fürs Board (Link)
12.04.2015 18:55 eulerscheZahl ist offline Beiträge von eulerscheZahl suchen Nehmen Sie eulerscheZahl in Ihre Freundesliste auf
ccc
unregistriert
Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Wie legt man Speicherplatz an ?
12.04.2015 21:05
eulerscheZahl eulerscheZahl ist männlich
Foren Gott


Dabei seit: 04.01.2013
Beiträge: 2.859

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

code:
1:
long m_loggedEntries = new long[m_maxEntries];

Das musst du dann mit delete wieder löschen.

__________________
Syntax Highlighting fürs Board (Link)
13.04.2015 16:02 eulerscheZahl ist offline Beiträge von eulerscheZahl suchen Nehmen Sie eulerscheZahl in Ihre Freundesliste auf
ccc
unregistriert
Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:

CConsumptionLog::~CConsumptionLog(){

delete m_maxEntries;


}



Geht das so?

War mir nicht sicher ob ich logged Entries oder max Entries löschen sollte ?
14.04.2015 13:53
eulerscheZahl eulerscheZahl ist männlich
Foren Gott


Dabei seit: 04.01.2013
Beiträge: 2.859

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

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.

__________________
Syntax Highlighting fürs Board (Link)
14.04.2015 16:59 eulerscheZahl ist offline Beiträge von eulerscheZahl suchen Nehmen Sie eulerscheZahl in Ihre Freundesliste auf
ccc
unregistriert
Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

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


code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:

CConsumptionLog::~CConsumptionLog(){

delete[m_loggedEntries];


}



Wisst ihr wie man so ein UML Diagramm erstellt ?
15.04.2015 01:05
Karlito Karlito ist männlich
Kaiser


Dabei seit: 11.04.2011
Beiträge: 1.461

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Zitat:
Original von ccc
code:
1:
2:
3:
4:
5:
6:
7:
8:
9:

CConsumptionLog::~CConsumptionLog(){

delete[m_loggedEntries];


}


Ist falsch.

code:
1:
2:
3:
4:
5:
CConsumptionLog::~CConsumptionLog(){
  delete [] m_entries;
}


Zitat:
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
15.04.2015 13:55 Karlito ist offline E-Mail an Karlito senden Beiträge von Karlito suchen Nehmen Sie Karlito in Ihre Freundesliste auf
ccc
unregistriert
Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

Wieso schreibt ihr da nur m_entries ?
15.04.2015 19:39
Karlito Karlito ist männlich
Kaiser


Dabei seit: 11.04.2011
Beiträge: 1.461

Auf diesen Beitrag antworten Zitatantwort auf diesen Beitrag erstellen Diesen Beitrag editieren/löschen Diesen Beitrag einem Moderator melden       Zum Anfang der Seite springen

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.

Gruß,

Karlito
15.04.2015 21:25 Karlito ist offline E-Mail an Karlito senden Beiträge von Karlito suchen Nehmen Sie Karlito in Ihre Freundesliste auf
Seiten (2): « vorherige 1 [2] Baumstruktur | Brettstruktur
Gehe zu:
Neues Thema erstellen Antwort erstellen
Informatiker Board » Themengebiete » Theoretische Informatik » Automatentheorie » C++Aufgabe