Friedrich-Alexander-Universität Erlangen-Nürnberg  /   Technische Fakultät  /   Department Informatik

Übungen zu BST (SS 2015)

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.
virtual ~O_Stream ()
 Destruktor.
virtual void flush ()=0
 Leert den Puffer.
O_Streamoperator<< (char c)
 Stellt ein einzelnes Zeichen dar.
O_Streamoperator<< (unsigned char c)
 Stellt ein einzelnes Zeichen dar.
O_Streamoperator<< (const char *string)
 Darstellung einer nullterminierten Zeichenkette.
O_Streamoperator<< (bool b)
 Stellt ein Boolean dar.
O_Streamoperator<< (short ival)
 Darstellung ganzer Zahlen im Zahlensystem zur Basis base.
O_Streamoperator<< (unsigned short ival)
 Darstellung ganzer Zahlen im Zahlensystem zur Basis base.
O_Streamoperator<< (int ival)
 Darstellung ganzer Zahlen im Zahlensystem zur Basis base.
O_Streamoperator<< (unsigned int ival)
 Darstellung ganzer Zahlen im Zahlensystem zur Basis base.
O_Streamoperator<< (long ival)
 Darstellung ganzer Zahlen im Zahlensystem zur Basis base.
O_Streamoperator<< (unsigned long ival)
 Darstellung ganzer Zahlen im Zahlensystem zur Basis base.
O_Streamoperator<< (void *ptr)
 Darstellung eines Zeigers als hexadezimale ganze Zahl.
O_Streamoperator<< (O_Stream &(*f)(O_Stream &))
 Aufruf einer Manipulatorfunktion.
- Öffentliche Methoden geerbt von Stringbuffer
virtual ~Stringbuffer ()

Öffentliche Attribute

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

Weitere Geerbte Elemente

- Geschützte Methoden geerbt von Stringbuffer
 Stringbuffer ()
 Konstruktor; Markiert Puffer als leer.
void put (char c)
 Fügt das Zeichen c in den Puffer ein.
- 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.

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.

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