Beispielprogramm: SCHABL2.CPP
Das Beispielprogramm in Datei SCHABL2.CPP ist etwas komplizierter, da es eine Schablone für eine ganze Klasse anstatt für eine einzelne Funktion beinhaltet. Der Code der Schablone steht in den Zeilen 6 bis 16 und ein genaueres Hinsehen zeigt, daß es sich dabei um eine komplette Klassendefinition handelt. Du hast recht, wenn Du meinst, der Stapel ist schwach bis sehr schwach, da nichts den Zugriff auf einen leeren Stapel verhindert und nichts einen vollen anzeigt. Unsere Absicht war es aber wieder, die Verwendung von Typenparametern (anhand einer möglichst simplen Klasse) zu illustrieren.
In Zeile 25 erzeugen wir ein Objekt mit dem Namen intStapel, einen Stapel für Variablen vom Typ int und ein zweites Objekt mit dem Namen floatStapel zum Speichern von Variablen vom Typ float. In beiden Fällen geben wir den Typ, mit dem das Objekt arbeiten soll, in "<<" Klammern an. Das System erzeugt dann das Objekt indem es zuerst alle Vorkommen von JEDER_TYP durch den angegebenen Typ ersetzt und dann ein Objekt diesen Typs erzeugt. Es kann jeder Typ verwendet werden, dem etwas zugewiesen werden kann, da wir dies mit dem Typenparameter in den Zeilen 13 und 14 tun.
Obwohl alle Zeichenketten verschieden lang sind, können wir unseren Stapel sogar zum Speicher von Zeichenketten verwenden, wenn wir nur Zeiger auf die Zeichenketten und nicht die ganze Zeichenkette selbst speichern. Das zeigen wir mit dem Objekt charStapel, das wir in Zeile 27 definieren und später dann auch verwenden.
Wenn Du Dich ein wenig mit diesem Programm beschäftigst, sollte Dir die Funktionsweise bald vertraut und klar sein. Du solltest es dann kompilieren und ausführen, wenn Dein Compiler mit Schablonen umgehen kann.
Copyright © 1997, 1998, 2001-2006 Heinz Tschabitscher - Letzte Änderung 16. Dezember 2005
Heinz Tschabitscher - | Datenschutz | Impressum - Kommentare, Kritik, Anregungen, Einfälle?