Lernziele
Das Klassenkonzept ist die wesentliche Weiterentwicklung von C++ gegenüber C. Es gestattet die Definition benutzerbezogener Datentypen,
die genauso bequem und sicher benutzt werden können wie die einfachen (eingebauten)
Datentypen. In diesem Abschnitt werden wir uns gewissermaßen mit dem Basiswissen
zur Benutzung von Klassen und Instanzen vertraut machen.
Definition
Eine Klasse wird analog einer Struktur aus mehreren Elementen (in C: Komponenten),
den sogenannten Datenelementen, vereinbart, die verschiedene einfache oder abgeleitete Datentypen haben können.
Die Klassendeklaration ist in C++ die Bauvorschrift für die Datenobjekte, die
von der Klassendeklaration abgeleitet werden. Die von der Klassendeklaration abgeleiteten
Datenobjekte heißen in C++ Instanzen. Alle Operationen sind natürlich nur für die Datenobjekte, die Instanzen einer
Klasse, oder die einzelnen Datenelemente der Instanzen definiert. Die Datenelemente
der Instanzen werden in C++ auch Instanzenvariablen genannt.
Der wesentliche Unterschied zu den Strukturen besteht darin, dass die Datenelemente
der Instanzen normalerweise als private (privat) Komponenten der Klasse gegenüber dem benutzenden Programm verborgen werden
(data hiding), während bei den klassischen Strukturen in C alle Komponenten öffentlich (public) sind.
Zur Benutzung der Instanzen und der privaten Instanzenvariablen müssen - zur
Klasse zugehörig - noch sogenannte Elementefunktionen definiert werden, die in der Regel öffentlich (public) sein sollten. Private Elementefunktionen wären gegenüber dem Programm ebenfalls
verborgen und somit nicht benutzbar.
Die Hauptaufgabe der (öffentlichen) Elementefunktionen ist also, eine kontrollierte Benutzung der (privaten) Datenelemente der Instanzen der Klasse zu gewährleisten.