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 Console, FileOut, CGA_Stream und ConsoleOut.
O_Stream & O_Stream::operator<< | ( | char | c | ) |
Stellt ein einzelnes Zeichen dar.
c | Darzustellendes Zeichen |
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<< | ( | const char * | string | ) |
Darstellung einer nullterminierten Zeichenkette.
string | Darzustellende Zeichenkette. |
O_Stream & O_Stream::operator<< | ( | bool | b | ) |
Stellt ein Boolean dar.
b | Darzustellendes Boolean |
O_Stream & O_Stream::operator<< | ( | short | 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 |
O_Stream & O_Stream::operator<< | ( | int | ival | ) |
Darstellung ganzer Zahlen im Zahlensystem zur Basis base.
ival | Darzustellende Zahl |
O_Stream & O_Stream::operator<< | ( | unsigned 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 |
O_Stream & O_Stream::operator<< | ( | unsigned long | ival | ) |
Darstellung ganzer Zahlen im Zahlensystem zur Basis base.
ival | Darzustellende Zahl |
O_Stream & O_Stream::operator<< | ( | const void * | ptr | ) |
Darstellung eines Zeigers als hexadezimale ganze Zahl.
ptr | Darzustellender Pointer |
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 |
int O_Stream::base |
Basis des zur Anzeige verwendeten Zahlensystems (z.B. 2, 8, 10 oder 16)