C++ als nicht-objektorientierte Spracherweiterung von C
C++ als nicht-objektorientierte Sprach-erweiterung von C
Zielgruppe
Vorkenntnisse
Dauer
Kursziel
Der Umstieg von C auf C++ wird üblicherweise gemacht, um von den Vorteilen der objektorientierten Programmierung (OOP) profitieren zu können. Die Transformation einer traditionell entwickelten C-Applikation in ein objektorientiertes C++-Programm ist aufgrund der prinzipiell anderen Art der Programmierung in der Regel sehr aufwändig und führt zu einer völlig anderen Codestruktur. Aus diesem Grund wird C++ oft nur in neuen Projekten eingesetzt.
Allerdings haben viele Spracheigenschaften von C++ gar nichts mit OOP zu tun. Aufgrund der Rückwärtskompatibilität von C++ können diese Spracheigenschaften deshalb auch in bereits existierenden C-Anwendungen eingesetzt werden, ohne deren prinzipielle Codestruktur ändern zu müssen, und wirken somit wie eine Spracherweiterung von C.
Der Kurs stellt diese Spracheigenschaften vor und zeigt auch, wie C- und C++-Module zusammenarbeiten können, um z.B. Programmteile, die (noch) nicht umgestellt werden sollen, weiter nutzen zu können.
Durch die Verwendung von C++ steht nicht nur ein größerer Sprachumfang als in C zur Verfügung, sondern bietet sich auch die Möglichkeit, gefährliche Sprachmittel der C-Sprache durch sicherere C++-Alternativen zu ersetzen. Zusammen mit der höheren Typsicherheit des Compilers führt dies dazu, dass mehr Fehler bereits zum Übersetzungszeitpunkt erkannt werden können und somit weniger Zeit für die Fehlersuche benötigt wird.
Inhalt
Einführung
- Entstehung von C++
- Entwurfsziele von C++
- Beispiele für die Effizienz von C++
- Generelle Richtlinien
Nicht-Objektorientierte Sprachelemente
- Die using-Anweisung
- Datentyp bool
- Aufzählungsdatentypen
- Referenzen
- Bereichsbasierte for-Schleife
- Funktionsüberladung
- Nutzung von C-Modulen aus C++
- Vorbelegungsparameter
- Namensbereiche
- Dynamische Speicherverwaltung
- Nullpointer
- Überladung von Operatoren
- Cast-Operatoren