Klasse und Dateityp?
-
Ich weiß leider nicht genau, wie ich an folgende Aufgabe rangehen sollen.
Es soll eine Klasse mit dem Namen Datei verwendet werden.Um verschiedene Dateitypen unterscheiden zu können, soll "enum filetype {IN, OUT};" verwendet werden.
Die Klasse "Datei" hat folgende private Attribute:
- "fileName" für den Namen (string solle verwendet werde)
- "file" für einen Stream (Datentyp fstream).
- Konstruktor "Dat(string name, filetype ftype)"
- Einen Destruktor.Das sieht bei mir zunächst so aus:
class Datei { private: enum filetype {IN, OUT}; string fileName; fstream file; Dat(string name, filetype ftype); ~Dat(); };fileName soll die Zeichenkette aus name sein, der Stream file soll (a) zum Lesen sein (ftype ist IN) oder (b) zum Schreiben (ftype ist OUT).
(Hinweis dazu ist: fstream.open mit char* aufrufen)An der Stelle weiß ich nicht weiter...

Über Hinweise würde ich mich sehr freuen...
-
Free-Dee schrieb:
An der Stelle weiß ich nicht weiter...

An welcher Stelle? Du hast bisher nur dein Übungsblatt gepostet und sonst nichts.
Oder meinst du genau das, du weißt nicht wo du anfangen sollst? Wenn du wirklich gar nichts kannst hilft dir Google: c++ tutorial sicher weiter, ansonsten schildere einfach mal dein konkretes Problem.
-
finix schrieb:
An welcher Stelle?
Ich gebe zu: Es war schwammig formuliert.
Ich komm beim Konstruktor nicht weiter.
Datei::Datei(string name, filetype ftype)Wenn ich nun die Datei öffnen möchte, müsste dort doch eigentlich stehen:
{ file.open("...", "modus") };Was ist denn in der Aufgabenformulierung mit "fstream.open" gemeint?
Und wie kombiniere ich die Enumeration-Aufzählung mit dem Öffnen der Datei und dem entsprechenden Modus (ios::in bzw. ios::out)?
-
Ich denke, alles nötige wirst du hier finden:
http://www.cplusplus.com/doc/tutorial/files.html
Ansonsten guck noch hier rein:
http://www.cppreference.com/cppio/index.html
-
Free-Dee schrieb:
Was ist denn in der Aufgabenformulierung mit "fstream.open" gemeint?
Das ist lediglich der Hinweis dass
fstream.opennur C-Strings akzeptiert, du dich also nachstd::string.c_strumschauen musst.Free-Dee schrieb:
Und wie kombiniere ich die Enumeration-Aufzählung mit dem Öffnen der Datei und dem entsprechenden Modus (ios::in bzw. ios::out)?
Am besten mit dem ?:-operator.