Hier ist die Klasse O_Stream implementiert. Neben der Klasse O_Stream sind hier auch die Manipulatoren hex, dec, oct und bin für die Wahl der Basis bei der Zahlendarstellung, sowie endl für den Zeilenumbruch deklariert. Mehr ...
#include "object/strbuf.h"


Klassen | |
class | O_Stream |
Die Aufgaben der Klasse O_Stream entsprechen im Wesentlichen denen der Klasse ostream der bekannten C++ IO-Streams-Bibliothek. Mehr ... | |
Funktionen | |
O_Stream & | endl (O_Stream &os) |
Fügt einen Zeilenumbruch in die Ausgabe ein und löst ein Leeren (Flush) des Puffers aus. Mehr ... | |
O_Stream & | bin (O_Stream &os) |
Wählt das binäre Zahlensystem aus. Mehr ... | |
O_Stream & | oct (O_Stream &os) |
Wählt das oktale Zahlensystem aus. Mehr ... | |
O_Stream & | dec (O_Stream &os) |
Wählt das dezimale Zahlensystem aus. Mehr ... | |
O_Stream & | hex (O_Stream &os) |
Wählt das hexadezimale Zahlensystem aus. Mehr ... | |
Ausführliche Beschreibung
Hier ist die Klasse O_Stream implementiert. Neben der Klasse O_Stream sind hier auch die Manipulatoren hex, dec, oct und bin für die Wahl der Basis bei der Zahlendarstellung, sowie endl für den Zeilenumbruch deklariert.
- Manipulatoren
- Um bei der Textformatierung mit Hilfe der Klasse O_Stream das Zahlensystem bequem wählen und Zeilenumbrüche einfügen zu können, sollen sogenannte Manipulatoren definiert werden. Der Ausdruck kout << "a = " << dec << a << " ist hexadezimal " << hex << a << endl; soll dann beispielsweise den Wert der Variablen a erst in dezimaler und dann in hexadezimaler Schreibweise formatieren und zum Schluss einen Zeilenumbruch anfügen.
Die gewünschten Eigenschaften können realisiert werden, wenn hex, dec, oct, bin und endl als Funktionen (d.h. nicht als Methoden der Klasse O_Stream) definiert werden, die als Parameter und Rückgabewert jeweils eine Referenz auf ein O_Stream Objekt erhalten bzw. liefern. Durch diese Signatur wird bei dem genannten Ausdruck der bereits erwähnte Operator O_Stream& O_Stream::operator<< ((*fkt*) (O_Stream&)) ausgewählt, der dann nur noch die als Parameter angegebene Funktion ausführen muss.
- Anmerkung
- Der Manipulatorbegriff wurde dem Buch "The C++ Programming Language" von Bjarne Stroustrup entnommen. Dort finden sich auch weitergehende Erläuterungen dazu.
Dokumentation der Funktionen
Wählt das binäre Zahlensystem aus.
- Parameter
-
os Zu modifizierender Stream
- Rückgabe
- Referenz auf ein O_Stream-Objekt, um Operatoren konkatenieren zu können.
Wählt das dezimale Zahlensystem aus.
- Parameter
-
os Zu modifizierender Stream
- Rückgabe
- Referenz auf ein O_Stream-Objekt, um Operatoren konkatenieren zu können.
Fügt einen Zeilenumbruch in die Ausgabe ein und löst ein Leeren (Flush) des Puffers aus.
- Parameter
-
os Zu modifizierender Stream
- Rückgabe
- Referenz auf ein O_Stream-Objekt, um Operatoren konkatenieren zu können.
Wählt das hexadezimale Zahlensystem aus.
- Parameter
-
os Zu modifizierender Stream
- Rückgabe
- Referenz auf ein O_Stream-Objekt, um Operatoren konkatenieren zu können.