C++
Zur Navigation springen
Zur Suche springen
Hinweis: Diese Inhalte wurden mit Unterstützung von Künstlicher Intelligenz erstellt und redaktionell überprüft (Transparenzhinweis gemäß Art. 50 EU AI Act).
Weblink
- Tim Buchalka / Frank Mitropoulos Beginning C++ Programming - From Beginner to Beyond
Grundlagen (Monat 1)
- Woche 1: Einführung und Setup
- Installation eines Compilers (z. B. GCC, Clang oder MSVC) und einer IDE (z. B. Visual Studio, CLion oder VS Code).
- Das erste “Hello World”-Programm schreiben und den Kompilierungsprozess verstehen.
- Grundlegende Datentypen (int, char, float, double, bool) und Variablen verstehen.
- Einfache Ein- und Ausgabe mit
std::cinundstd::cout.
- Woche 2: Kontrollstrukturen
- Verzweigungen:
if,else if,elseundswitch. - Schleifen:
for,while,do-while.
- Verzweigungen:
- Woche 3: Funktionen
- Deklaration vs. Definition von Funktionen.
- Parameterübergabe: Call by Value, Call by Reference und Call by Pointer.
- Rückgabewerte und der Typ
void. - Überladen von Funktionen (Function Overloading).
- Woche 4: Arrays und Strings
- Arbeiten mit C-Style Arrays und dem modernen
std::array. - Zeichenketten mit
std::stringverwalten und grundlegende String-Manipulationen durchführen.
- Arbeiten mit C-Style Arrays und dem modernen
Fortgeschrittene C++ Konzepte (Monat 2)
- Woche 5: Zeiger und Speicherverwaltung
- Zeiger (Pointers) und Referenzen: Grundlagen, Syntax und Unterschiede.
- Zeigerarithmetik.
- Dynamische Speicherallokation mit
newunddelete(Bewusstsein für Memory Leaks).
- Woche 6: Objektorientierte Programmierung (OOP) - Die Grundlagen
- Klassen und die Instanziierung von Objekten.
- Attribute (Member-Variablen) und Methoden (Member-Funktionen).
- Konstruktoren und Destruktoren richtig einsetzen.
- Kapselung: Zugriffsmodifizierer (
public,private,protected).
- Woche 7: OOP - Fortgeschrittene Konzepte
- Vererbung (Inheritance): Basis- und abgeleitete Klassen.
- Polymorphismus und die Verwendung virtueller Funktionen (
virtual,override). - Abstrakte Klassen und rein virtuelle Funktionen (Interfaces).
- Woche 8: Fehlerbehandlung und Datei-I/O
- Exception Handling mit
try,catchundthrow. - Lesen und Schreiben von Dateien mit Streams (
ifstream,ofstream,fstream).
- Exception Handling mit
Moderne C++ Features (Monat 3)
- Woche 9: C++ Standardbibliothek (STL) - Die Container
- Sequenzielle Container:
std::vector,std::list,std::deque. - Assoziative Container:
std::map,std::set,std::unordered_map,std::unordered_set.
- Sequenzielle Container:
- Woche 10: STL - Algorithmen und Iteratoren
- Iteratoren: Konzepte, Typen und wie man navigiert.
- Wichtige Algorithmen aus <algorithm> anwenden (z. B.
std::sort,std::find,std::for_each).
- Woche 11: Modernes C++ (C++11 und höher)
- Typableitung mit dem
auto-Keyword. - Range-based for-Loops verwenden.
- Anonyme Funktionen: Lambda-Ausdrücke.
- Ressourcenmanagement: Smart Pointers (
std::unique_ptr,std::shared_ptr) statt roher Zeiger (RAII-Prinzip).
- Typableitung mit dem
- Woche 12: Abschlussprojekt
- Wende das gelernte Wissen in einem Projekt an, z.B. eine Bibliotheksverwaltung, ein Text-Adventure, eine To-Do-Anwendung mit Dateispeicherung oder die Implementierung eines bekannten Brettspiels (z. B. Tic-Tac-Toe oder Vier Gewinnt) im Terminal.
Weiterführende Themen (Optional / Ausblick)
- Templates: Generische Programmierung für Funktionen und Klassen.
- Multithreading und nebenläufige Programmierung (
std::thread,std::mutex). - Design Patterns in C++.
- Performance-Optimierung und Profiling.
- Move Semantics (
std::move) und Rvalue-Referenzen.
Hinweis: Diese Inhalte wurden mit Unterstützung von Künstlicher Intelligenz erstellt und redaktionell überprüft (Transparenzhinweis gemäß Art. 50 EU AI Act).