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

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

#include <object/o_stream.h>

Klassendiagramm f├╝r O_Stream:
Zusammengeh├Ârigkeiten von O_Stream:

├ľffentliche Methoden

 O_Stream ()
 Konstruktor; Initiale Zahlenbasis ist das Dezimalsystem. Mehr ...
 
virtual ~O_Stream ()
 Destruktor.
 
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<< (long long ival)
 Darstellung ganzer Zahlen im Zahlensystem zur Basis base. Mehr ...
 
O_Streamoperator<< (unsigned long long ival)
 Darstellung ganzer Zahlen im Zahlensystem zur Basis base. Mehr ...
 
O_Streamoperator<< (const 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)
 

├ľ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 hexadezimal 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::O_Stream ( )
inline

Konstruktor; Initiale Zahlenbasis ist das Dezimalsystem.

Noch zu erledigen:
Konstruktor implementieren

Dokumentation der Elementfunktionen

◆ flush()

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 FileOut und ConsoleOut.

◆ operator<<() [1/14]

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

Stellt ein einzelnes Zeichen dar.

Noch zu erledigen:
Operator implementieren
Parameter
cDarzustellendes Zeichen
R├╝ckgabe
Referenz auf ein O_Stream Objekt, um Operatoren konkatenieren zu k├Ânnen.

◆ operator<<() [2/14]

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

Stellt ein einzelnes Zeichen dar.

Zu beachten
C kennt eigentlich keine Zeichen, sondern nur Ganzzahlen. char ist f├╝r C nur eine 8bit Zahl, wobei das h├Âchstwertige Bit (MSB) ein Vorzeichen darstellen kann. Dementsprechend hat ein unsigned char einen Wertebereich von 0 bis 255, bei signed char ist es -128 bis 127. Bei GCC sind char standardm├Ą├čig vorzeichenbehaftet.
Noch zu erledigen:
Operator implementieren
Parameter
cDarzustellendes Zeichen
R├╝ckgabe
Referenz auf ein O_Stream Objekt, um Operatoren konkatenieren zu k├Ânnen.

◆ operator<<() [3/14]

O_Stream & O_Stream::operator<< ( const char *  string)

Darstellung einer nullterminierten Zeichenkette.

Noch zu erledigen:
Operator implementieren
Parameter
stringDarzustellende Zeichenkette.
R├╝ckgabe
Referenz auf ein O_Stream Objekt, um Operatoren konkatenieren zu k├Ânnen.

◆ operator<<() [4/14]

O_Stream & O_Stream::operator<< ( bool  b)

Stellt ein Boolean dar.

Noch zu erledigen:
Operator implementieren
Parameter
bDarzustellendes Boolean
R├╝ckgabe
Referenz auf ein O_Stream Objekt, um Operatoren konkatenieren zu k├Ânnen.

◆ operator<<() [5/14]

O_Stream & O_Stream::operator<< ( short  ival)

Darstellung ganzer Zahlen im Zahlensystem zur Basis base.

Noch zu erledigen:
Operator implementieren
Parameter
ivalDarzustellende Zahl
R├╝ckgabe
Referenz auf ein O_Stream Objekt, um Operatoren konkatenieren zu k├Ânnen.

◆ operator<<() [6/14]

O_Stream & O_Stream::operator<< ( unsigned short  ival)

Darstellung ganzer Zahlen im Zahlensystem zur Basis base.

Noch zu erledigen:
Operator implementieren
Parameter
ivalDarzustellende Zahl
R├╝ckgabe
Referenz auf ein O_Stream Objekt, um Operatoren konkatenieren zu k├Ânnen.

◆ operator<<() [7/14]

O_Stream & O_Stream::operator<< ( int  ival)

Darstellung ganzer Zahlen im Zahlensystem zur Basis base.

Noch zu erledigen:
Operator implementieren
Parameter
ivalDarzustellende Zahl
R├╝ckgabe
Referenz auf ein O_Stream Objekt, um Operatoren konkatenieren zu k├Ânnen.

◆ operator<<() [8/14]

O_Stream & O_Stream::operator<< ( unsigned int  ival)

Darstellung ganzer Zahlen im Zahlensystem zur Basis base.

Noch zu erledigen:
Operator implementieren
Parameter
ivalDarzustellende Zahl
R├╝ckgabe
Referenz auf ein O_Stream Objekt, um Operatoren konkatenieren zu k├Ânnen.

◆ operator<<() [9/14]

O_Stream & O_Stream::operator<< ( long  ival)

Darstellung ganzer Zahlen im Zahlensystem zur Basis base.

Noch zu erledigen:
Operator implementieren
Parameter
ivalDarzustellende Zahl
R├╝ckgabe
Referenz auf ein O_Stream Objekt, um Operatoren konkatenieren zu k├Ânnen.

◆ operator<<() [10/14]

O_Stream & O_Stream::operator<< ( unsigned long  ival)

Darstellung ganzer Zahlen im Zahlensystem zur Basis base.

Noch zu erledigen:
Operator implementieren
Parameter
ivalDarzustellende Zahl
R├╝ckgabe
Referenz auf ein O_Stream Objekt, um Operatoren konkatenieren zu k├Ânnen.

◆ operator<<() [11/14]

O_Stream & O_Stream::operator<< ( long long  ival)

Darstellung ganzer Zahlen im Zahlensystem zur Basis base.

Noch zu erledigen:
Operator implementieren
Parameter
ivalDarzustellende Zahl
R├╝ckgabe
Referenz auf ein O_Stream Objekt, um Operatoren konkatenieren zu k├Ânnen.

◆ operator<<() [12/14]

O_Stream & O_Stream::operator<< ( unsigned long long  ival)

Darstellung ganzer Zahlen im Zahlensystem zur Basis base.

Noch zu erledigen:
Operator implementieren
Parameter
ivalDarzustellende Zahl
R├╝ckgabe
Referenz auf ein O_Stream Objekt, um Operatoren konkatenieren zu k├Ânnen.

◆ operator<<() [13/14]

O_Stream & O_Stream::operator<< ( const void *  ptr)

Darstellung eines Zeigers als hexadezimale ganze Zahl.

Noch zu erledigen:
Operator implementieren
Parameter
ptrDarzustellender Zeiger
R├╝ckgabe
Referenz auf ein O_Stream Objekt, um Operatoren konkatenieren zu k├Ânnen.

◆ operator<<() [14/14]

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.

Noch zu erledigen:
Operator implementieren
Parameter
fAnzuwendende Manipulatorfunktion
R├╝ckgabe
Referenz auf ein O_Stream Objekt, um Operatoren konkatenieren zu k├Ânnen.

Dokumentation der Datenelemente

◆ base

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: