Sie befinden sich hier: Home » Seminare » Programmiersprachen » CPP
Objektorientiertes Programmieren mit C++
Kursziele
Das Seminar gibt eine fundierte Einführung in die objektorientierte Programmierung mit C++ und macht den Paradigmenwechsel zur prozeduralen Programmierung in C deutlich. C++ ist eine mächtige aber auch komplexe Sprache, deren zentrale Punkte in dieser Weiterbildung angegangen werden; Teilnehmer lernen, objektorientierte und effiziente Implementierungen zu realisieren und erhalten einen Überblick über die C++ Standard Bibliothek.
Zielgruppe | Empfohlene Dauer | |
| Software-Entwickler, Programmierer, Systementwickler | 5 Tage, insgesamt 30 Zeitstunden |
Inhalte
- Wiederholung zentraler C-Elemente
- Kommentare
- Datentypen
- Operatoren
- Kontrollstrukturen
- Funktionen
- Zeiger (Pointer), Speicherverwaltung, Arrays, Zeichenketten (
char-Felder)
- Ein-/Ausgabe
- Von C zu C++
- Entstehungsgeschichte, C++ ISO Standard
- C++-Compiler
- Entwicklungsumgebungen
- Header-Dateien im C++ ISO Standard; von
<xxx.h>nach<cxxx>
- Aufzählungen,
enum
- Überladene Funktionen,
inline-Funktionen, vorbelegte Parameter
- Konstant sein mit
constund dennoch modifizieren mitmutable
- Mischen von C und C++
- Objektorientierung in C++
- Objektorientierte Konzepte, UML
- Prozedurale und objektorientiere Modellierung
- Klassen deklarieren, Unterschiede zu Strukturen
- Member-Funktionen, Variablen
- Objekte erzeugen und zerstören,
new,delete
- Konstruktoren und Destruktoren
- Copy-Konstruktor
this-Pointer
- Datenkapselung, Geheimnisprinzip, Zugriffsrechte
public,private
- Klasseneigenschaften,
static
- Typanpassung und Typumwandlung, neue C++-Typecasts
- Gültigkeitsbereiche und Namensräume,
using
- Überladene Operatoren
- Allgemeine Prinzipien, Vor- und Nachteile
- Schlüsselwort
operator
- Arithmetische Operatoren überladen
- Prefix- und Postfix-Formen von
++und--
- Zuweisungsoperator überladen
- Index-Operator
[]überladen
newunddeleteüberladen
- Nicht-überladbare Operatoren
- Fortgeschrittene objektorientierte Konzepte
- Assoziationen, Ausblick auf Collection-Klassen
- Konzepte Ober- und Unterklasse
- Einfachvererbung und Mehrfachvererbung
protectedundfriend
- Konstruktoren/Destruktoren in der Vererbungshierarchie
- Polymorphie und dynamische Bindung
- Virtuelle Funktionen
- Rein virtuelle Funktionen und abstrakte Klassen
- Realisierungen durch V-Table (Virtual Method Table)
- Virtueller Destruktor
- Verschachtelte Klassen und Sichtbarkeiten
- Run-time type information (RTTI) in C++
typeid-Operator
- Typkonvertierung zur Laufzeit: Der
dynamic_cast-Operator
- Ausnahmen (Exceptions)
- Ausnahmen auslösen mit
throw
- Ausnahmen abfangen, Catch-Handler,
try-catch,...
- Ausnahmen bei Ressouren-Problemen
- Fehlerklassen
- Standard-Exceptions und System-Exceptions, Header-Datei
<exception>,what()-Funktion
- Ausnahmen in Konstruktoren und Destruktoren,
terminate()-Funktion
- Ausnahmen auslösen mit
- Templates
- Generische Programmierung mit Templates
- Template-Parameter, Template-Argumente
- Arten von Templates: Funktions-Template, Klassen-Template
- Implizite und explizite Template Instanziierung
- Template-Spezialisierung, Template-Klassen und Vererbung
- Ausblick
- STL (Standard Template Library)
- Boost C++ Libraries
Voraussetzungen
Der Kurs ›C-Programmierung, Teil 1‹ oder vergleichbare Kenntnisse. Objektorientierte Kenntnisse werden nicht vorausgesetzt.
Software
Basis des C++-Kurses ist ein beliebiger C++-Compiler wie GCC, Microsoft Visual C++ oder Borland C++ Compiler.
Schlagwörter |