C++ Kurs: Objektorientierte Programmierung mit C++

03.09.2018

16.12.2019 - 20.12.2019

Veranstaltungsort: München, MicroConsult

C++ Kurs: Objektorientierte Programmierung mit C++

Moderne, qualitativ hochwertige und komplexe Softwaresysteme zu entwickeln kostet Zeit und Geld. Beides lässt sich mithilfe objektorientierter Techniken auf Dauer einsparen; zudem kann qualitativ hochwertigere Software entwickelt werden.

Moderne, qualitativ hochwertige und komplexe Softwaresysteme zu entwickeln kostet Zeit und Geld. Beides lässt sich mithilfe objektorientierter Techniken auf Dauer einsparen; zudem kann qualitativ hochwertigere Software entwickelt werden.

In diesem C++ Kurs lernen Sie in kleinen Schritten, versetzt mit vielen Übungen, die Syntax der Programmiersprache C++ von Grund auf kennen. Auch der Umstieg von der prozeduralen Programmierung in die andere Denk- und Arbeitsweise der objektorientierten Programmierung wird Ihnen durch die vielen praktischen Übungen im C++ Kurs erleichtert. In einem kurzen Überblick werden auch weiterführende Themen, wie Templates, die STL (Standard Template Library), Exceptions und Container, vorgestellt.

Inhalt

Einführung in C++

  • Historie
  • Unterschiede und Gemeinsamkeiten von C und C++
  • Vorteile von C++
  • Welche Vorteile bringt die objektorientierte Entwicklung?

 

Programmaufbau

  • Neue Sprachmittel
  • Überladen von Funktionen
  • Ein- und Ausgabe mit Streams
  • Demonstrationen
  • Übung: Überladen von Funktionen

 

Datentypen

  • Neue Datentypen
  • Pointer und Referenzen
  • Neuerungen aus C++ 11
  • Dynamische Speicherverwaltung
  • Smart-Pointer
  • Demonstrationen

 

Kontrollstrukturen

  • Was wurde aus C übernommen, was ist neu?
  • Automatische for-Schleife
  • Exceptions
  • Demonstrationen
  • Übung: Anwenden von Kontrollstrukturen

 

Operatoren

  • Überblick über die Operatoren
  • Operatorüberladung
  • Umlenkungsoperatoren für die Ein- und Ausgabe
  • Demonstrationen
  • Übung: Überladen von Operatoren

 

Klassen

  • Aufbau von Klassen
  • Objekterzeugung
  • Konstruktor und Destruktor
  • Kapselung von Daten und Methoden
  • Zugriffsrechte auf Klassenmember
  • Der this-Pointer
  • Überladen von Methoden
  • Statische Daten und Methoden
  • Konstante Methoden
  • Unterschied zwischen Struktur und Klasse
  • Namensräume
  • Demonstrationen
  • Übung: Implementieren eines Zählers

 

Initialisierung und Freigabe von Objekten

  • Umgang mit Konstruktoren
  • Universelle Initialisierung
  • Initialisierung von eingebetteten Objekten
  • Konstante Daten und deren Initialisierung
  • Demonstrationen
  • Übung: Implementieren und Initialisieren eines eingebetteten Objektes

 

Spezielle Memberfunktionen

  • Explizite und gelöschte Konstruktoren
  • Operator als Memberfunktion
  • Spezielle Syntaxformen bei der Überladung von Typecast und Inkrement-/ Dekrement-Operatoren
  • Move-Semantiken
  • Demonstrationen
  • Übung: Implementierung von Operatoren als Memberfunktion

 

Vererbung

  • C++ Implementierung
  • Wiederverwendung von Code durch Vererbung
  • Auswirkung der Zugriffsrechte in Klassenhierarchien
  • Verhalten von Konstruktoren/Destruktoren in Klassenhierarchien
  • Demonstrationen

 

Virtuelle Methoden

  • Überschreiben von Methoden der Basisklasse
  • Die Schlüsselwörter override und final
  • Polymorphie
  • Abstrakte Klassen
  • Abstrakte Methoden
  • Interfaces
  • Demonstrationen
  • Übung: Erweitern des Zählers durch eine abgeleitete Klasse

 

Zugriffskontrolle mit friend

  • Das Schlüsselwort friend
  • "Befreundete" Klassen, Methoden und Funktionen
  • Wie wirkt sich friend bei Vererbung aus?
  • Demonstrationen

 

Streams

  • Überblick über die Stream-Klassen
  • Nutzung der Streams für die Ausgabe in Files und Strings
  • Manipulatoren für die Anpassung der Ausgabe
  • Überladen von Stream-Operatoren
  • Demonstrationen
  • Übung: Stream-Operatoren für die Zähler-Klasse

 

STL (Standard Template Library)

  • Anwenden von Template-Klassen
  • Die C++ Cast-Operatoren
  • Container
  • Iteratoren
  • Algorithmen
  • Smart Pointer
  • Demonstrationen
  • Übung: Nutzung von STL-Containern

 

Praktische Übungen im C++ Kurs

  • Überladen von Funktionen
  • Anwendung von Kontrollstrukturen
  • Operatorüberladung
  • Implementierung von Klassen
  • Konstruktorüberladung, Initialisierung eingebetteter Objekte
  • Operatoren als Memberfunktion
  • Polymorphie: Vererbung und virtuelle Methoden
  • Streamausgabe von eigenen Klassen
  • Nutzung der STL
  • Die umfangreichen Übungen werden mit dem Microsoft Visual Studio durchgeführt.