Student2
aus §6.4 enthält dynamische
Datenstrukturen wodurch Initialisierung und Kopieren
der entsprechenden Variablen jedesmal speziell implementiert werden müssen
(siehe auch §7.5.2). Ein großer Vorteil,
neben vielen anderen, des Konzeptes der Klassen in C++
besteht darin, daß auch Datenstrukturen mit dynamischen Komponenten
im Hauptprogramm wie einfache Datentypen gehandhabt werden können.
Dies erfordert natürlich einige Vorarbeiten.
Eine Klasse (class) ist ein Datentyp samt zugehörigen Methoden
( Funktionen) und wird ähnlich einer Struktur angelegt und
kann analog verwendet werden. Die Methoden einer Klasse haben
stets Zugriff zu den Daten dieser Klasse.
Ausgehend von der Struktur Student2
leiten wir eine Klasse
Studenten
ab. Hierbei speichern wir alle Deklarationen der
Klasse im Headerfile
studenten.hh (siehe studenten.hh)
und alle Definitionen in
studenten.cc. (siehe studenten.cc)
Eine bzgl. der Pointerinitialisierung modifizierte Variante
ist in den Files studs.hh (siehe studs.hh)
und
studs.cc (siehe studs.cc)
zu finden.