Übungen zu BS (WS 2014/15)
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; Initale Zahlenbasis ist das Dezimalsystem.  | |
| virtual | ~O_Stream () | 
| Destruktor.  | |
| virtual void | flush ()=0 | 
| Leert den Puffer.   | |
| O_Stream & | operator<< (char c) | 
| Stellt ein einzelnes Zeichen dar.   | |
| O_Stream & | operator<< (unsigned char c) | 
| Stellt ein einzelnes Zeichen dar.    | |
| O_Stream & | operator<< (const char *string) | 
| Darstellung einer nullterminierten Zeichenkette.   | |
| O_Stream & | operator<< (bool b) | 
| Stellt ein Boolean dar.   | |
| O_Stream & | operator<< (short ival) | 
| Darstellung ganzer Zahlen im Zahlensystem zur Basis base.   | |
| O_Stream & | operator<< (unsigned short ival) | 
| Darstellung ganzer Zahlen im Zahlensystem zur Basis base.    | |
| O_Stream & | operator<< (int ival) | 
| Darstellung ganzer Zahlen im Zahlensystem zur Basis base.    | |
| O_Stream & | operator<< (unsigned int ival) | 
| Darstellung ganzer Zahlen im Zahlensystem zur Basis base.    | |
| O_Stream & | operator<< (long ival) | 
| Darstellung ganzer Zahlen im Zahlensystem zur Basis base.    | |
| O_Stream & | operator<< (unsigned long ival) | 
| Darstellung ganzer Zahlen im Zahlensystem zur Basis base.    | |
| O_Stream & | operator<< (void *ptr) | 
| Darstellung eines Zeigers als hexadezimale ganze Zahl.   | |
| O_Stream & | operator<< (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, welche in der o_stream.h-Dokumentation zur näher beschrieben sind.
Dokumentation der Elementfunktionen
      
  | 
  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
 - 
  
c Darzustellendes 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
 - 
  
c Darzustellendes 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
 - 
  
string Darzustellende 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
 - 
  
b Darzustellendes 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
 - 
  
ival Darzustellende 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
 - 
  
ival Darzustellende 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
 - 
  
ival Darzustellende 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
 - 
  
ival Darzustellende 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
 - 
  
ival Darzustellende 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
 - 
  
ival Darzustellende 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
 - 
  
ptr Darzustellender Pointer  
- Rückgabe
 - Referenz auf ein O_Stream-Objekt, um Operatoren konkatenieren zu können.
 
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
 - 
  
f Anzuwendende 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:
- object/o_stream.h
 - object/o_stream.cc
 


 Öffentliche Methoden geerbt von