Advanced Programming


Object oriented programming in C++ (repetition)

  • Classes – creating new types, fields, methods, overloading
  • Implementation hiding, namespaces
  • Reusage - composition, aggregation, inheritance
  • Overriding, polymorphism, late binding
  • Abstract and interface classes, multiple inheritance, virtual inheritance
  • Error handling with exceptions

Generic programming

  • Templates
  • Generic programming idioms (traits, policy, curiously recurring template pattern)
  • Metaprogramming
  • Expression templates

The implementation and usage of the Standard Template Library (STL)

  • STL foundations
  • Strings, data flow
  • Manipulators, effektors
  • Generic algorithms, predicates
  • Function objects, function object and pointer adapters
  • Iterators, ordering, searching, modifying
  • Generic containers and adapters