WallaceXIV
PCGH-Community-Veteran(in)
Ich hab mir was zusammen programmiert, aber ich habe jetzt ein Problem damit, ich blick nicht genau durch was ich da eigentlich mache.
Ich lese eine Textdatei mit mehreren Zeilen und verschiedenen Werten ein.
Am Anfang der Testdatei habe ich die Anzahl der Zeilen bzw. Datensätze gespeichert.
Nach dieser Zahl richtet sich die Größe des allokierten Speichers
Jetzt will ich einen neuen Datensatz hinzufügen, aber der Speicher wurde ja schon allokiert. Neu allokieren bringt einen Fehler, genau so wie ohne neu allokieren und einfach so hinzufügen.
Wie funktioniert das genau?
Ich lese eine Textdatei mit mehreren Zeilen und verschiedenen Werten ein.
Am Anfang der Testdatei habe ich die Anzahl der Zeilen bzw. Datensätze gespeichert.
Nach dieser Zahl richtet sich die Größe des allokierten Speichers
Code:
class Klasse 1
{
private:
....
public:
Klasse1() {} // Konstruktor
....
}; // Ende Klasse1
class Klasse2
{
private:
int Anzahl;
public:
Klasse1 *Test; // inititalisiert Konstruktor der Klasse1 mit dynamischen Werten
Klasse2() {DatenEinlesen();} // Konstruktor
~Klasse2() {delete[] Test;} // Destruktor
void DatenEinlesen();
}; // Ende Klasse2
void Klasse2::DatenEinlesen()
{
.....
ifstream lesen("blabla.txt");
lesen >> Anzahl;
Test = new Klasse1[Anzahl];
for (int i = 0; i < Anzahl; i++)
{
....
....
....
}
lesen.close();
}
Wie funktioniert das genau?
Anhänge
Zuletzt bearbeitet: