Es gibt nämlich einen nicht zu unterschätzenden Vorteil des Stream-Mechanismus
gegenüber dem des traditionellen Dateizugriffs in C oder Pascal: da
es sich bei den Dateien um Objekte einer Klasse handelt (s.o.),
besitzen sie einen Konstruktor bzw. Destruktor.
Und damit kann man
erreichen, daß die Dateien beim Deklarieren der Objekte automatisch
erzeugt und beim Zerstören automatisch geschlossen werden!
Die Konstruktoren und Destruktoren der obigen Klassen sind dementsprechend implementiert.
D.h. um das eigentliche Öffnen und Schließen braucht man sich
nun nicht mehr explizit zu kümmern, man fordert einfach ein Objekt
der entsprechenden Klasse an. Sobald der Gültigkeitsbereich des Objektes
verlassen wird, wird der Destruktor aufgerufen und damit die Datei automatisch
geschlossen.
Nun kann es natürlich sein, daß man odch einmal eine Datei explizit
schließen möchte, bevor man den Gültigkeitsbereich
verläßt. Zu diesem Zweck steht die Elementfunktion close()
zur Verfügung.