Objektorientiertes Programmieren im Wissenschaftlichen Rechnen
Ort und Zeit: Di 14-16 in 368, 248Übung: Do 14-16 in 350(OMZ), U012
Voraussetzungen
Gute Grundkenntnisse in C++Skript
SkriptThemen
- Eine kurze Wiederholung der Grundlagen objektorientierter Programmierung in C++ (Klassen, Methoden und Operatoren)
- Speicherverwaltung (Variablen, Referenzen, Pointer)
- Konstante Werte und Objekte
- Fehlerbehandlung (Exceptions)
- Vererbung
- Dynamischer Polymorphismus (Virtuelle Vererbung)
- Statischer Polymorphismus (Templates)
- Die C++ Standard-Template-Library (STL Container, Iteratoren und Algorithmen)
- Traits
- Policies
- Template Metaprogramming
- Expression Templates
- Neuerungen durch den C++0x-Standard
- Python-Wrapping für C++-Funktionen
Übungen
- Blatt 1
- Blatt 2
- Blatt 3
- Blatt 4
- Blatt 5
- Blatt 6, timer.hh
- Blatt 7, matrix_double.h matrix_double.cc test_matrix_double.cc
- Blatt 8
- Blatt 9, Musterlösung Blatt 8 (updated!) matrix.h nummatrix.h frobenius.cc
- Blatt 10, Musterlösung Blatt 9 gaussseidel.cc
- Blatt 11
- Blatt 12
- Blatt 13
Literatur
- Eine kurze Zusammenfassung der prozeduralen Anweisungen von C++ (Englisch)
- Bjarne Stroustrup: Die C++-Porgrammiersprache, Bonn, Addison-Wesley-Longman, 1998.
- David Vandevoorde, Nicolai Josuttis: C++ templates: the complete guide, Addison-Wesley, 2003.
- Nicolai M. Josuttis: The C++ standard library: a tutorial and reference, Addison-Wesley, 1999.