Objektorientiertes Programmieren mit C++
Empfohlene Schulungsdauer: 5 Tage, insgesamt 30 Zeitstunden
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
Software-Entwickler, Programmierer, SystementwicklerVoraussetzungen
Der Kurs ›C-Programmierung, Teil 1‹ oder vergleichbare Kenntnisse. Objektorientierte Kenntnisse werden nicht vorausgesetzt.Seminarinhalte
- 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 mitconstund 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, Zugriffsrechtepublic,private
- Klasseneigenschaften,static
- Typanpassung und Typumwandlung, neue C++-Typecasts
- Gültigkeitsbereiche und Namensräume,using - Überladene Operatoren
- Allgemeine Prinzipien, Vor- und Nachteile
- Schlüsselwortoperator
- 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: Derdynamic_cast-Operator - Ausnahmen (Exceptions)
- Ausnahmen auslösen mitthrow
- 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 - 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
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++ 2008 Express Edition), Intel C++ Compiler oder Borland C++ Compiler.
Schlagwörter
tutego™ bietet Ihnen viele weitere Schulungen. Unsere Kategorien: Java, .NET (C#, VB.NET, ASP.NET, ...), Programmiersprachen (iPhone, PHP, ...), Softwaredesign (UML, Pattern, ...), XML (XSLT, Schema), SAP (ABAP, ...), Server Administration (SVN, Apache, ...), Datenbanken (Oracle, MySQL, ...), Web-Programmierung (JavaScript, jQuery, Flex), Microsoft Office, AutoCAD, Sage KHK, Lotus Notes/Domino.
![Zu einem Bookmark-Anbieter hinzufügen [Addthis]](../../images/bookmarks/addthis.gif)
![Zu Google Bookmarks hinzufügen [Google Bookmarks]](../../images/bookmarks/google.png)
![Zu Yahoo! Bookmarks hinzufügen [Yahoo! Bookmarks]](../../images/bookmarks/yahoo.png)
![Zu Delicius hinzufügen [Delicius]](../../images/bookmarks/delicious.png)
![Zu Mister Wong hinzufügen [Mister Wong]](../../images/bookmarks/misterwong.png)