Programmieren mit C++

Code-Beispiele & Lösungen

Klassen für allgemeine Aufgaben

Klasse für Dateiverzeichniseinträge

Die Klasse Eintrag verwaltet Verzeichniseinträge von Dateien. Sie ist geeignet als Basisklasse für Klassen, die Dateien, Verzeichnisse oder gesamte Verzeichnisbäume verwalten.

Zu einem Verzeichniseintrag gehören:

  • Erstellungsdatum
  • Erstellungsuhrzeit
  • Größe

Die Klasse verwaltet intern einen Status, der über eine Memberfunktion abgefragt werden kann. Die beiden Stati sind vom Aufzählungstyp EINTRAG_STATUS, der die Werte

  • fehler
  • ok

annehmen kann. Wird die zugehörige Datei nicht gefunden, so ist der Status fehler.

Membervariablen

Die Membervariablen sind protected deklariert, so daß eine abgeleitete Klasse, die Dateioperationen unterstützt, auf diese zugreifen kann, ohne über die Memberfunktionen zu gehen.

Status

EINTRAG_STATUS status

status verwaltet den Status des Eintrags. Ist der Status ok, so existiert eine zum Eintrag gehörige Datei. Ist diese Datei nicht vorhanden, so ist der Status fehler.

Membervariable status

time_t zeit

tzeit enthält Datum und Uhrzeit der Dateierstellung.

Membervariable tzeit

long groesse

groesse beinhaltet die Dateigröße.

Membervariable groesse

char  name[LAENGE_EINTRAG]

name enthält den Dateinamen.

Memberfunktionen

Alle Memberfunktionen sind generell als public deklariert.

Membervariable name

EINTRAG(const char *dateiname)

Der Konstruktor mit dem Zeichenkettenparameter legt ein Objekt der Klasse EINTRAG an und initialisiert die Membervariablen mit den Daten des Verzeichniseintrags.

EINTRAG(EINTRAG& eintrag)

Der Kopierkonstruktor übernimmt die Daten eines Objekts der Klasse EINTRAG.

Konstruktoren

virtual ~EINTRAG()

Der Destruktor verrichtet in dieser Klasse keine Aufgabe.

Destruktor

inline EINTRAG_STATUS getStatus(void)

getStatus liefert den Status des Objekts zurück. Ist der Status ok, so ist eine Datei mit dem Namen vorhanden, der dem Konstruktor als Parameter übergeben wurde.

Memberfunktion getStatus

inline const char *getName(void)

getName liefert den Dateinamen des Eintrags zurück.

Memberfunktion getName

inline time_t getZeit(void)

Die Memberfunktion getZeit liefert Datum und Uhrzeit der Erstellung der Datei zurück.

Memberfunktion getZeit

inline long  getGroesse(void)

getGroesse liefert als Funktionsergebnis die Dateigröße der Datei, deren Dateieintrag das Objekt verwaltet.

Operatoren

Memberfunktion getGroesse

friend ostream& operator<<(
    ostream& os, EINTRAG& eintrag)

Der Operator << ist als friend-Funktion deklariert. Mit ihm können die Werte des Eintrags in den als Parameter übergebenen Stream ausgegeben werden. Die Ausgabe hat folgendes Format:

Operator <<

test.dat      148 28.01.1995 18:14:00

Ausgabe des Operators <<





Sachgebiet


© 2009-2012 by Alojado Publishing. Alle Rechte vorbehalten. Ausgewiesene Marken gehören ihren jeweiligen Eigentümern.
Mit der Benutzung dieser Seite erkennen Sie die Nutzungsbedingungen und die Datenschutzerklärung an. Der Betreiber übernimmt keine Haftung für den Inhalt verlinkter externer Internetseiten.
Seite erzeugt 2012-05-20 02:24:39 von textarchiv.alojado.de