FAU UnivIS
Techn. Fak. Dep. Informatik

Die Aufgaben der Klasse O_Stream entsprechen im Wesentlichen denen der Klasse ostream der bekannten C++ IO-Streams-Bibliothek. Mehr ...

#include <o_stream.h>

Klassendiagramm für O_Stream:
Zusammengehörigkeiten von O_Stream:

Öffentliche Methoden

 O_Stream ()
 Konstruktor; Initale Zahlenbasis ist das Dezimalsystem. Mehr ...
 
virtual ~O_Stream ()
 Destruktor. Mehr ...
 
virtual void flush ()=0
 Leert den Puffer. Mehr ...
 
O_Streamoperator<< (char c)
 Stellt ein einzelnes Zeichen dar. Mehr ...
 
O_Streamoperator<< (unsigned char c)
 Stellt ein einzelnes Zeichen dar. Mehr ...
 
O_Streamoperator<< (const char *string)
 Darstellung einer nullterminierten Zeichenkette. Mehr ...
 
O_Streamoperator<< (bool b)
 Stellt ein Boolean dar. Mehr ...
 
O_Streamoperator<< (short ival)
 Darstellung ganzer Zahlen im Zahlensystem zur Basis base. Mehr ...
 
O_Streamoperator<< (unsigned short ival)
 Darstellung ganzer Zahlen im Zahlensystem zur Basis base. Mehr ...
 
O_Streamoperator<< (int ival)
 Darstellung ganzer Zahlen im Zahlensystem zur Basis base. Mehr ...
 
O_Streamoperator<< (unsigned int ival)
 Darstellung ganzer Zahlen im Zahlensystem zur Basis base. Mehr ...
 
O_Streamoperator<< (long ival)
 Darstellung ganzer Zahlen im Zahlensystem zur Basis base. Mehr ...
 
O_Streamoperator<< (unsigned long ival)
 Darstellung ganzer Zahlen im Zahlensystem zur Basis base. Mehr ...
 
O_Streamoperator<< (void *ptr)
 Darstellung eines Zeigers als hexadezimale ganze Zahl. Mehr ...
 
O_Streamoperator<< (O_Stream &(*f)(O_Stream &))
 Aufruf einer Manipulatorfunktion. Mehr ...
 
- Öffentliche Methoden geerbt von Stringbuffer
virtual ~Stringbuffer ()
 Destruktor (hier nichts zu tun) Mehr ...
 

Öffentliche Attribute

int base
 Basis des zur Anzeige verwendeten Zahlensystems (z.B. 2, 8, 10 oder 16) Mehr ...
 

Weitere Geerbte Elemente

- Geschützte Methoden geerbt von Stringbuffer
 Stringbuffer ()
 Konstruktor; Markiert Puffer als leer. Mehr ...
 
void put (char c)
 Fügt das Zeichen c in den Puffer ein. Mehr ...
 
- Geschützte Attribute geerbt von Stringbuffer
char buffer [80]
 Zeichenpuffer.
 
int pos
 Aktuelle Position im Puffer.
 

Ausführliche Beschreibung

Die Aufgaben der Klasse O_Stream entsprechen im Wesentlichen denen der Klasse ostream der bekannten C++ IO-Streams-Bibliothek.

Da die Methode Stringbuffer::put(char) der Basisklasse Stringbuffer recht unbequem ist, wenn die zusammenzustellenden Texte nicht nur aus einzelnen Zeichen, sondern auch aus Zahlen, oder selbst wieder aus Zeichenketten bestehen, werden in der Klasse O_Stream Möglichkeiten zum Zusammenstellen verschiedener Datentypen realisiert. In Anlehnung an die bekannten Ausgabeoperatoren der C++ IO-Streams-Bibliothek wird dazu der Shift-Operator operator<< verwendet.

Darüberhinaus soll es möglich sein, für die Darstellung ganzer Zahlen zwischen dem Dezimal-, dem Binär- dem Oktal- und dem Hexadezimalsystem zu wählen. Beachtet dabei bitte die übliche Darstellung negativer Zahlen: Im Dezimalsystem mit führendem Minuszeichen, im Oktal- und Hexadezimalsystem ohne Minuszeichen, sondern genau so wie sie im Maschinenwort stehen. (Intel-CPUs verwenden intern das 2er-Komplement für negative Zahlen. -1 ist Hexadeziamal also FFFFFFFF und Oktal 37777777777.)

Die öffentlichen Methoden/Operatoren von O_Stream liefern jeweils eine Referenz auf ihr eigenes O_Stream Objekt zurück. Dadurch ist es möglich, in einem Ausdruck mehrere der Operatoren zu verwenden, z. B. kout << "a = " << a;

Zur Zeit wird die Darstellung von Zeichen, Zeichenketten und ganzen Zahlen unterstützt. Ein weiterer << Operator erlaubt die Verwendung von Manipulatoren, welche in der o_stream.h-Dokumentation näher beschrieben sind.

Beschreibung der Konstruktoren und Destruktoren

O_Stream::O_Stream ( )
inline

Konstruktor; Initale Zahlenbasis ist das Dezimalsystem.

virtual O_Stream::~O_Stream ( )
inlinevirtual

Destruktor.

Dokumentation der Elementfunktionen

virtual void O_Stream::flush ( )
pure virtual

Leert den Puffer.

Rein virtuelle Methode, die erst durch abgeleitete Klassen implementiert wird. Darstellung des Pufferinhalts kann so durch unterschiedliche Kindklassen variiert werden.

Implementiert Stringbuffer.

Implementiert in CGA_Stream.

O_Stream & O_Stream::operator<< ( char  c)

Stellt ein einzelnes Zeichen dar.

Parameter
cDarzustellendes Zeichen
Rückgabe
Referenz auf ein O_Stream-Objekt, um Operatoren konkatenieren zu können.
O_Stream & O_Stream::operator<< ( unsigned char  c)

Stellt ein einzelnes Zeichen dar.

Parameter
cDarzustellendes Zeichen
Rückgabe
Referenz auf ein O_Stream-Objekt, um Operatoren konkatenieren zu können.
O_Stream & O_Stream::operator<< ( const char *  string)

Darstellung einer nullterminierten Zeichenkette.

Parameter
stringDarzustellende Zeichenkette.
Rückgabe
Referenz auf ein O_Stream-Objekt, um Operatoren konkatenieren zu können.
O_Stream & O_Stream::operator<< ( bool  b)

Stellt ein Boolean dar.

Parameter
bDarzustellendes Boolean
Rückgabe
Referenz auf ein O_Stream-Objekt, um Operatoren konkatenieren zu können.
O_Stream & O_Stream::operator<< ( short  ival)

Darstellung ganzer Zahlen im Zahlensystem zur Basis base.

Parameter
ivalDarzustellende Zahl
Rückgabe
Referenz auf ein O_Stream-Objekt, um Operatoren konkatenieren zu können.
O_Stream & O_Stream::operator<< ( unsigned short  ival)

Darstellung ganzer Zahlen im Zahlensystem zur Basis base.

Parameter
ivalDarzustellende Zahl
Rückgabe
Referenz auf ein O_Stream-Objekt, um Operatoren konkatenieren zu können.
O_Stream & O_Stream::operator<< ( int  ival)

Darstellung ganzer Zahlen im Zahlensystem zur Basis base.

Parameter
ivalDarzustellende Zahl
Rückgabe
Referenz auf ein O_Stream-Objekt, um Operatoren konkatenieren zu können.
O_Stream & O_Stream::operator<< ( unsigned int  ival)

Darstellung ganzer Zahlen im Zahlensystem zur Basis base.

Parameter
ivalDarzustellende Zahl
Rückgabe
Referenz auf ein O_Stream-Objekt, um Operatoren konkatenieren zu können.
O_Stream & O_Stream::operator<< ( long  ival)

Darstellung ganzer Zahlen im Zahlensystem zur Basis base.

Parameter
ivalDarzustellende Zahl
Rückgabe
Referenz auf ein O_Stream-Objekt, um Operatoren konkatenieren zu können.
O_Stream & O_Stream::operator<< ( unsigned long  ival)

Darstellung ganzer Zahlen im Zahlensystem zur Basis base.

Parameter
ivalDarzustellende Zahl
Rückgabe
Referenz auf ein O_Stream-Objekt, um Operatoren konkatenieren zu können.
O_Stream & O_Stream::operator<< ( void *  ptr)

Darstellung eines Zeigers als hexadezimale ganze Zahl.

Parameter
ptrDarzustellender Pointer
Rückgabe
Referenz auf ein O_Stream-Objekt, um Operatoren konkatenieren zu können.
O_Stream & O_Stream::operator<< ( O_Stream &(*)(O_Stream &)  f)

Aufruf einer Manipulatorfunktion.

Methode sorgt dafür, dass Manipulatorfunktionen aufgerufen werden, um Veränderungen an der Klasse (z.B. Änderung der Zahlenbasis) zu ermöglichen.

Parameter
fAnzuwendende Manipulatorfunktion
Rückgabe
Referenz auf ein O_Stream-Objekt, um Operatoren konkatenieren zu können.

Dokumentation der Datenelemente

int O_Stream::base

Basis des zur Anzeige verwendeten Zahlensystems (z.B. 2, 8, 10 oder 16)


Die Dokumentation für diese Klasse wurde erzeugt aufgrund der Dateien: