Objektorientiertes Programmieren mit C++
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.
Inhalte des Seminars
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
const
und 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 new
unddelete
überladen- Nicht-überladbare Operatoren
Fortgeschrittene objektorientierte Konzepte
- Assoziationen, Ausblick auf Collection-Klassen
- Konzepte Ober- und Unterklasse
- Einfachvererbung und Mehrfachvererbung
protected
undfriend
- 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 Ressourcen-Problemen
- Fehlerklassen
- Standard-Exceptions und System-Exceptions, Header-Datei
<exception>
,what
-Funktion - Ausnahmen in Konstruktoren und Destruktoren,
terminate
-Funktion
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
Termine / Kontakt
Jedes Seminar führt tutego als kundenangepasstes Inhouse-Seminar durch.
Alle unsere Seminare können zudem als Live-Online-Seminar besucht werden.
Wir helfen Ihnen gerne bei der Anmeldung und einen passenden Termin zu finden. Kontaktieren Sie uns per E-Mail oder unter 0800/tutegos (kostenlos aus allen Netzen).
Die Fakten
- Empfohlene Schulungsdauer: 5 Tage, insgesamt 40 Unterrichtsstunden à 45 Minuten
- Zielgruppe: Software-Entwickler, Programmierer, Systementwickler
- Vorkenntnisse: Der Kurs ›C programmieren, Teil 1‹ oder vergleichbare Kenntnisse. Objektorientierte Kenntnisse werden nicht vorausgesetzt.
- Seminar-Software: Basis des C++-Kurses ist ein beliebiger C++-Compiler wie g++ aus der ›GNU Compiler Collection‹ (GCC), Microsoft Visual C++ (etwa aus der Microsoft Visual C++ Express Edition), Intel C++ Compiler oder Borland C++ Compiler. Als Entwicklungsumgebung kommt je nach Wunsch Microsoft Visual C++ oder die Eclipse CDT zum Einsatz.
Weiterführende Seminare
Der Grundkurs zu C++ wird fortgesetzt durch das Seminar Effektive Software-Entwicklung mit C++, welches wertvolle Hinweise zur effektiven Programmierung etwa mit Ausnahmen, Templates oder Smart Pointer gibt. Effektive Softwareentwicklung bedeutet, dass Entwickler auf Standard-Bibliotheken zurückgreifen. In C++ sind das STL und Boost. Unsere Seminar Standard Template Library (STL) und Standard C++ Library gibt einen tiefen Einblick in die Bibliotheken und der Kurs C++ Design Patterns und Idiome gibt wertvolle Hinweise zum Programmieren im Großen.