Konstruktoren, die es erlauben sowohl 'leere' Zeichenketten zu definieren (die Größe des allozierten Arrays soll dann defaultmäßig 10 Zeichen sein), als auch
Zeichenketten mit den üblichen C++ Zeichenkettenkonstanten zu initialisieren (die Größe des allozierten Arrays soll dann das nächstgrößere Vielfache von 10
ausgehend von der tatsächlich benötigten Zeichenanzahl sein). So sollen z.B. folgende Definitionen erlaubt sein
String s; //s besteht aus einem 10 Zeichen großen Array, das den Leerstring enthält
String t="abc" //t besteht aus einem 10 Zeichen großen Array, das die Zeichenkette "abc" enthält
String u="12345678901"; //u besteht aus einem 20 Zeichen großen Array mit entsprechendem Inhalt.
Außerdem ist der Zuweisungsoperator derart zu überladen, dass C++ Zeichenketten an bereits existente
String Objekte zugewiesen werden können. Dabei ist
unter Umständen neuer Speicherplatz zu allozieren
s="abc"; //kein neuer Speicherplatz erforderlich
u="123"; //kein neuer Speicherplatz erforderlich
t="12345678901"; //es muss ein neues Array alloziert werden (das alte wird natürlich freigegeben)