complex
-Klasse macht dies nicht viel Sinn, aber es
gibt durchaus Anwendungen, wo diese Möglichkeit sinnvoll eingesetzt werden kann.
Insbesondere bei
dem Umgang mit konstanten Objekten, die dynamische Elemente besitzen. Da
Pointer jedoch erst in einem späteren Kapitel behandelt werden, hier
nur eine kurze Problembeschreibung:
String
mit dem Operator []
, mit
dem auf
ein Element im String zugegriffen werden kann.
class String {
private:
char* cstring;
...
public:
// liefert i-tes Zeichen
des Strings zurück
char& operator []
(unsigned) const;
...
};
Diese Deklaration erlaubt es uns zum einen, den Operator []
auch für
konstante
String-Objekte aufzurufen. Sie erlaubt es uns aber auch, Konstanten zu
manipulieren:
s[0] = 'W'; // wird NICHT als Fehler erkannt!
const String s = "Test";