Punkteverteilung für Blatt 06
=============================
Includes
--------
- [ ] 1i) Wo liegt das Problem in Codebeispiel 1? (1 Pkt)
- [ ] 1ii) Header korrigieren / Include Guards (2 Pkt)
- [ ] 1iii) Warum ist die andere Möglichkeit subobtimal? (1 Pkt)
- [ ] 2) Wo liegt das Problem in Codebeispiel 2? (2 Pkt)
- [ ] 3) Problem in Codebeispiel 3 mit Forward-Declaration gelöst. (2 Pkt)
Polymorphie
-----------
- Querschnitt
- [ ] Klasse (0.5 Pkt)
- [ ] abstrakte Methode `flaeche` (1 Pkt)
- Rechteck
- [ ] Subklasse von Querschnitt definiert (0.5 Pkt)
- [ ] Konstruktor (0.5 Pkt)
- [ ] Methode `flaeche` (1 Pkt)
- Halbkreis
- [ ] Subklasse von Querschnitt definiert (0.5 Pkt)
- [ ] Konstruktor (0.5 Pkt)
- [ ] Methode `flaeche` (1 Pkt)
- Verbund
- [ ] Subklasse von Querschnitt definiert (0.5 Pkt)
- [ ] Konstruktor (0.5 Pkt)
- [ ] Methode `flaeche` (2 Pkt)
- [ ] `main.cpp` (1.5 Pkt)
Iteratoren
----------
- [ ] 1) Konstruktor (2 Pkt)
- [ ] 1) es gilt: Liste `l` leer => `begin(l) == end(l)` (1 Pkt)
- [ ] 1) `int& operator*` (1 Pkt)
- [ ] 1) `int* operator->` (1 Pkt)
- [ ] 1) `LinkedListIterator& operator++()` (2 Pkt)
- [ ] 1) `LinkedListIterator operator++(int)` (2 Pkt)
- [ ] 1) `LinkedListIterator& operator+=(size_t)` (2 Pkt)
- [ ] 1) `void insert_after(int &element)` (2 Pkt)
- [ ] 1) `bool operator==` (1 Pkt)
- [ ] 1) `bool operator!=` (1 Pkt)
- [ ] 1) `LinkedListIterator begin(DoublyLinkedList)` (2 Pkt)
- [ ] 1) `LinkedListIterator end(DoublyLinkedList)` (2 Pkt)
- [ ] 1) Codebeispiel zum Testen funktioniert (1 Pkt)
- [ ] 2) **Bonus** Warum gibt der eine Inkrement-Operator eine Referenz zurück und der andere nicht? (zusätzlich 2 Pkt)
- [ ] 3) `void insert_ones_after_zeros(LinkedListIterator first, LinkedListIterator last)` (2 Pkt)