OOStuBS/MPStuBS
|
Die Aufgaben der Klasse O_Stream entsprechen im Wesentlichen denen der Klasse ostream der bekannten C++ IO-Streams-Bibliothek. Mehr ...
#include <o_stream.h>
Öffentliche Methoden | |
O_Stream () | |
Konstruktor; Initiale Zahlenbasis ist das Dezimalsystem. Mehr ... | |
virtual | ~O_Stream () |
Destruktor. | |
virtual void | flush ()=0 |
Leert den Puffer. Mehr ... | |
O_Stream & | operator<< (char c) |
Stellt ein einzelnes Zeichen dar. Mehr ... | |
O_Stream & | operator<< (unsigned char c) |
Stellt ein einzelnes Zeichen dar. Mehr ... | |
O_Stream & | operator<< (const char *string) |
Darstellung einer nullterminierten Zeichenkette. Mehr ... | |
O_Stream & | operator<< (bool b) |
Stellt ein Boolean dar. Mehr ... | |
O_Stream & | operator<< (short ival) |
Darstellung ganzer Zahlen im Zahlensystem zur Basis base. Mehr ... | |
O_Stream & | operator<< (unsigned short ival) |
Darstellung ganzer Zahlen im Zahlensystem zur Basis base. Mehr ... | |
O_Stream & | operator<< (int ival) |
Darstellung ganzer Zahlen im Zahlensystem zur Basis base. Mehr ... | |
O_Stream & | operator<< (unsigned int ival) |
Darstellung ganzer Zahlen im Zahlensystem zur Basis base. Mehr ... | |
O_Stream & | operator<< (long ival) |
Darstellung ganzer Zahlen im Zahlensystem zur Basis base. Mehr ... | |
O_Stream & | operator<< (unsigned long ival) |
Darstellung ganzer Zahlen im Zahlensystem zur Basis base. Mehr ... | |
O_Stream & | operator<< (const void *ptr) |
Darstellung eines Zeigers als hexadezimale ganze Zahl. Mehr ... | |
O_Stream & | operator<< (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. | |
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. | |
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.
|
inline |
Konstruktor; Initiale Zahlenbasis ist das Dezimalsystem.
|
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, ConsoleOut, Console und CGA_Stream.
O_Stream & O_Stream::operator<< | ( | bool | b | ) |
Stellt ein Boolean dar.
b | Darzustellendes Boolean |
O_Stream & O_Stream::operator<< | ( | char | c | ) |
Stellt ein einzelnes Zeichen dar.
c | Darzustellendes Zeichen |
O_Stream & O_Stream::operator<< | ( | const char * | string | ) |
Darstellung einer nullterminierten Zeichenkette.
string | Darzustellende Zeichenkette. |
O_Stream & O_Stream::operator<< | ( | const void * | ptr | ) |
Darstellung eines Zeigers als hexadezimale ganze Zahl.
ptr | Darzustellender Pointer |
O_Stream & O_Stream::operator<< | ( | int | ival | ) |
Darstellung ganzer Zahlen im Zahlensystem zur Basis base.
ival | Darzustellende Zahl |
O_Stream & O_Stream::operator<< | ( | long | ival | ) |
Darstellung ganzer Zahlen im Zahlensystem zur Basis base.
ival | Darzustellende Zahl |
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.
f | Anzuwendende Manipulatorfunktion |
O_Stream & O_Stream::operator<< | ( | short | ival | ) |
Darstellung ganzer Zahlen im Zahlensystem zur Basis base.
ival | Darzustellende Zahl |
O_Stream & O_Stream::operator<< | ( | unsigned char | c | ) |
Stellt ein einzelnes Zeichen dar.
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.c | Darzustellendes Zeichen |
O_Stream & O_Stream::operator<< | ( | unsigned int | ival | ) |
Darstellung ganzer Zahlen im Zahlensystem zur Basis base.
ival | Darzustellende Zahl |
O_Stream & O_Stream::operator<< | ( | unsigned long | ival | ) |
Darstellung ganzer Zahlen im Zahlensystem zur Basis base.
ival | Darzustellende Zahl |
O_Stream & O_Stream::operator<< | ( | unsigned short | ival | ) |
Darstellung ganzer Zahlen im Zahlensystem zur Basis base.
ival | Darzustellende Zahl |
int O_Stream::base |
Basis des zur Anzeige verwendeten Zahlensystems (z.B. 2, 8, 10 oder 16)