Einführung in C++
Dieses Kapitel gibt einen konzeptuellen Überblick über Programmierung und die Rolle der Programmiersprache C++.
Es werden bewusst noch keine technischen Details behandelt.
1. Was ist Programmierung?
Definition.
Programmierung ist der Prozess, bei dem ein Mensch einer Maschine
eine präzise, formale Abfolge von Anweisungen gibt, um ein Problem zu lösen.
Ein Programm ist keine Idee, sondern eine exakt beschriebene Handlungsanweisung.
Computer führen Programme deterministisch aus – sie interpretieren nichts.
Beispiel (abstrakt):
„Addiere zwei Zahlen, speichere das Ergebnis und gib es aus.“
Computer sind extrem schnell, aber ohne Verständnis. Programme müssen daher eindeutig und vollständig sein.
2. Was ist ein Programm?
Ein Programm ist eine endliche Folge von Anweisungen,
die vom Computer ausgeführt werden können.
- Programme bestehen aus Quelltext
- Sie werden in einer Programmiersprache geschrieben
- Sie werden vom Compiler übersetzt und vom Computer ausgeführt
C++ ist eine Hochsprache, die Abstraktion mit direktem Zugriff auf Speicher kombiniert.
3. Was ist die Programmiersprache C++?
C++ ist eine kompilierte, prozedurale und objektorientierte Programmiersprache.
Sie erweitert C um Klassen, Templates, STL, Namespaces und viele moderne Features.
C++ erlaubt Programme zu schreiben, die:
- effizient ausgeführt werden
- gut strukturiert und wartbar sind
- direkt mit Hardware und Speicher arbeiten können
C++ abstrahiert die Maschine stärker als C, bietet aber auch moderne Werkzeuge für Softwareentwicklung.
4. Wofür wird C++ verwendet?
C++ wird eingesetzt, wo Effizienz, Kontrolle und gleichzeitig moderne Programmiermethoden gefragt sind.
- Betriebssystemkomponenten
- Spiele-Engines und Grafiksoftware
- Treiber, Embedded Systems
- Leistungskritische Anwendungen (Finance, Simulation)
- Bibliotheken und Frameworks (STL, Boost)
Viele moderne Programme (Browsers, Games, Systemsoftware) werden in C++ entwickelt.
5. Historischer Hintergrund
C++ wurde Anfang der 1980er Jahre von Bjarne Stroustrup entwickelt.
Ziel war es, die Effizienz von C zu behalten, aber Programmierbarkeit und Wartbarkeit durch Objektorientierung zu verbessern.
C++ kann alles, was C kann, plus zusätzliche Abstraktionen.
6. Besonderheiten von C++ gegenüber C
- Ein- und Ausgabe über
std::cout und std::cin
- Namespaces (
std::) für sauberen Code
- Klassen, Objekte, Vererbung, Polymorphismus
- Templates und generische Programmierung
- Standardbibliothek STL mit Vektoren, Listen, Maps, Algorithmen
C++ ist sowohl für systemnahe Programmierung als auch für Softwareentwicklung auf hohem Abstraktionsniveau geeignet.
7. Beispiel: Erste Ausgabe
Einfaches C++-Programm:
#include <iostream>
int main() {
std::cout << "Hallo C++!" << std::endl;
return 0;
}
#include <iostream> bindet die Standard-Ein/Ausgabe ein
std::cout gibt Text auf der Konsole aus
std::endl erzeugt einen Zeilenumbruch
8. Aufbau dieses Kurses
Der Kurs führt von grundlegenden Konzepten zu modernen C++-Mechanismen.
- Datentypen und Variablen
- Operatoren und Ausdrücke
- Kontrollstrukturen
- Funktionen und Modularisierung
- Arrays, Speicher und Zeiger
- Objektorientierte Konzepte, STL, Templates
Ziel ist nicht nur C++ zu benutzen, sondern C++ zu verstehen.