Die Programmiersprache C ist eine moderne höhere Programmiersprache, die sich durch Flexibilität, Effektivität
und Portabilität auszeichnet. C ist eine universelle Programmiersprache,
d.h. ihr Einsatz ist nicht auf bestimmte Anwendungsgebiete begrenzt. Jedoch
ist die Systemprogrammierung eines der Haupteinsatzgebiete der Programmiersprache C und begründet wohl auch ihre besondere Bedeutung.
Die Eignung von C zur Entwicklung von großen Projekten sollte vor allem hinsichtlich
der Reduzierung des Testaufwands und der Gewährleistung einer weitgehenden Fehlerfreiheit durch die Einführung grundlegender Konzepte der objektorientierten Programmierung wesentlich verbessert werden. Diese weiterentwickelte und vervollkommnete Sprache
erhielt im Laufe der Entwicklung in Anlehnung an den Inkrement-Operator von C
den Namen C++.
Die Vorteile der Einführung der Prinzipien der objektorientierten Programmierung bestehen
- in realitätsnah aus der Problemstellung abzuleitenden und somit einfacheren Programmen und
- in einer Erhöhung der Sicherheit, Zuverlässigkeit und Fehlerfreiheit der Programme.
Erreicht wird dieses Ziel durch die Einführung von Klassen mit privaten, geschützten und öffentlichen Elementen sowie entsprechenden Klassen-
und Instanzenmethoden. In Ergänzung zu C++ gibt es heute für verschiedenste Anwendungsgebiete
komplette Klassen- und Methodenbibliotheken, die eine effektive Entwicklung sicherer und zuverlässiger Programme erlauben.
Im ISO-C++-Standard, der diesem Trainingskurs zu Grunde liegt, sind bereits eine
Reihe von weitverbreiteten Klassen- und Methodenbibliotheken für die Ein- und
Ausgabe, Zeichenkettenverarbeitung, Verarbeitung komplexer Zahlen, Listen- und
Vektorverarbeitung, Vektorarithmetik usw. bereits mit aufgenommen worden. Allerdings
würde ihre ausführliche Behandlung den Rahmen dieses Kurses sprengen. Deshalb
werden wir uns im Wesentlichen auf eine ausführliche Behandlung der Ein- und Ausgabe (Kapitel 11) und der standardisierten Zeichenkettenverarbeitung (Kapitel 13)
als zwei typischen Beispielen für Klassen- und Methodenbibliotheken beschränken.