Sicherheitsfrage bei klassen

KeiWaran

Grünschnabel
Hi,

ich hab ne Klasse die "eine bestimmte Datei ausliest (besondere Formatierung - enthält nur Zahlen, Leerzeichen und '\n')

class myFile{
public:
myFile(char*, bool);
int* getFileInhalt(void);
private:
void getFile(char*);
int* fileInhalt;
};

Also ich ruf zuerst die Klasse auf geb den Dateinamen (char*) und ob gelesen werden soll (bool) durch. Den Inhalt der Datei wird dann mit getFile(char*) ausgelesen. In getFile tu ich je nachdem wie groß die Datei ist ein Feld erstellen mit genausovielen Feldern wie Werte in der Datei sind. Und tu dann die Adresse von diesem Array dem int* fileInhalt zuweisen.

Dann tu ich mit getFileInhalt() die Adresse des Feldes außerhalb der Klasse weiterverwenden.

Nun meine Frage ist es eigentlich "richtig" das ich das Feld außerhalb der Klasse verwende Gibt es ne andere Möglichkeit wie ich ein Feld zurückgeben kann bei dem ich die Größe von vorherein nicht weiß (wird berechnet)?

Kei
 
Nun meine Frage ist es eigentlich "richtig" das ich das Feld außerhalb der Klasse verwende Gibt es ne andere Möglichkeit wie ich ein Feld zurückgeben kann bei dem ich die Größe von vorherein nicht weiß (wird berechnet)?
Eigentlich spricht da nix dagegen, du musst dich nur darum kümmern, das der reservierte Speicher auf den der Zeiger zeigt wieder gelöscht wird, am besten im Destruktor der Klasse.

Gruß Homer
 
hallo

:) gut zu wissen.

ich kann sie aber nicht gleich löschen weil ich ja alles brauche. ich denk ich werd der klasse ne extrafunktion spendieren die als end descruktor dient und ich dann ganz zum schluss aufrufen kann...

Kei
 
Zurück