Übersicht - C++ und GUI
Lehrender: | Prof. R. Salomon |
---|---|
Semester: | Wintersemester |
SWS: | 3 Vorlesungen, 3 Projekt |
LP: | 6 |
Prüfung: | mündlich, Referat/Präsentation |
Voraussetzungen: | erfolgreiche Bearbeitung eines praktischen Programmierprojektes |
LSF-Nummer: | 24524 |
Systemnummer: | 1301040 |
Aktuelle Informationen: | Projektseite im WS 2018/19 |
Ziel
Durch die Lehrveranstaltung werden Techniken und Methoden der objektorientierten Softwareentwicklung vermittelt. Die praktischen Übungen erfolgen anhand der Programmiersprache C++.
Inhalt
- Von C zu C+: Eine erste Einführung
- Warum C++?
- Vergleich von C und C++
- Objektorientierte Techniken in C: Pseudo-virtuelle Funktionen, Funktionszeiger und Attribute als Structs
- Technische Begriffe und Konzepte: Klasse, Subklasse, Superklasse, Attribute, Operatoren, Vererbung, Nachrichten, Polymorphismus
- C++-Programme und Funktionen
- Elementare Programmiertechniken in C++
- C++: Typen, Literale, Deklarationen und Initialisierung
- C++-Klassen: von Struct zu Class, Objekte, Member, this-Zeiger, public und private, constructor, new, Initialisierungsliste, einfache Vererbung
- C++-Sprach-Features
- C++-Funktionen, Funktionsüberladung, Default-Argumente
- Fortgeschrittene Design- und Implementierungstechniken
- Nutzung von Deklarationen/Direktiven
- Templates in C++
- Namespaces in C++
- Ergänzungen zu Grundlagen: enumerations, const class members, Eingabe und Ausgabe, Referenzen und Funktionen (Call-by-Value, Call-by-Reference, Call-by-Const-Reference)
- Speicherlecks
- Klassen: destructor, constructors mit einem oder mehreren Argumenten, default constructor, copy constructor, copy assignment
- Operatorenüberladung
- Abstrakte Klassen mit protected/pure virtual Funktionen
- Standard Template Library
- Generische Programmierung und grundlegende Modelle: Algorithmen, Container und Iteratoren
- Predicates: Funktionen, Funktionsobjekte, Lambdas und Inline-Code
- Automatische und range-basierte Schleifen
- Aufbau und Funktionsweise grafischer Systeme
- die freie Bibliothek Qt und deren wichtigsten Programmierkonzepte
- Grundlagen eines benutzerfreundlichen Oberflächen Designs
Literatur
- Goldberg, Adele: Smalltalk-80., Reading (Mass.): Addison-Wesley 1984
- Brian W. Kernighan, Denis M. Ritchie: Programmieren in C, Hanser/Prentice Hall, Wien/London 1990
- Meyer, Bertrand: Objektorientierte Softwareentwicklung., München, London: Carl Hanser und Prentice-Hall 1990
- Stroustrup, Bjarne: The C++ Programming Language, Addison-Wesley 2001
- Helmut Balzert: Lehrbuch der Software-Technik (Software-Entwicklung), Spektrum Akademie Verlag, 2001
- Stroustrup, Bjarne: Einführung in die Programmierung mit C++, Pearson, 2010
- Salomon, Ralf: Praktische Informatik und die Programmiersprache C, 2013
Material zur Vorlesung und Übung
- Vorlesung: Prof. Ralf Salomon
- Übung: M.Sc. Theo Gabloffsky, Übungsaufgaben
Bei Fragen wenden Sie sich bitte an Herrn Prof. Ralf Salomon