Klassen werden von C++ genutzt, um das Objekt-Konzept der
objektorientierten Programmierung (OOP) umzusetzen. Eine
Klasse ist in der OOP die Zusammenfassung einer
Datenstruktur (mehrere Attribute) und der darauf anwendbaren Funktionen
zu einer Einheit.
Eine Klasse bietet eine abstrakte Schablone, von der ausgehend konkrete Objekte erzeugt werden können. Man sagt, die Objekte sind Instanzen der Klasse. Objekte einer Klasse verfügen über die gleichen Merkmale. Von außen hat man Zugriff auf öffentliche Member-Funktionen (Methoden). Member-Variablen (Attribute) werden vor dem Zugriff geschützt (information hiding, Kapselung).
Klassen können auch von anderen Klassen abgeleitet werden (Vererbung). In diesem Fall erbt die abgeleitete Klasse Attribute und Methoden der Basisklasse. Die abgeleitete Klasse kann Methoden der Basisklasse überschreiben und darüber hinaus eigene Methoden und Attribute hinzufügen.
Ein Objekt der abgeleiteten Klasse kann überall
verwendet werden, wo ein Objekt der Basisklasse erwartet wird.
Überschriebene Methoden der abgeleiteten Klasse werden dann ausgeführt
(virtuelle Funktionen, Polymorphie).