Punkteverteilung für Blatt 05
=============================
2-Tupel
-------
- [ ] Konstruktor (2 Pkt)
- [ ] `==` (1 Pkt)
- [ ] `!=` (1 Pkt)
- [ ] `swap` (2 Pkt)
- [ ] `flip` (2 Pkt)
- [ ] Punkte-Struct (2 Pkt)
- [ ] Bruch-Struct (2 Pkt)
Shared Pointer
--------------
- Konstruktor
- [ ] Initialisieren des Zählers. (1 Pkt)
- [ ] Setzen des Zählers auf 1. (0.5 Pkt)
- [ ] Initialisieren der restlichen Variablen. (0.5 Pkt)
- Destructor
- [ ] Dekrementieren des Zählers. (1 Pkt)
- [ ] Löschen des Structs. (1 Pkt)
- `operator->` / `operator*`
- [ ] Pointer zurückgegeben (1 Pkt)
- [ ] Dereferenziert (1 Pkt)
- Copy-Konstruktor
- [ ] Kopieren der Struct-Pointers. (0.5 Pkt)
- [ ] Kopieren der Zähler-Pointers. (0.5 Pkt)
- [ ] Inkrementieren des Zählers. (1 Pkt)
- Test
- [ ] `shared_ptr` erstellt (0.5 Pkt)
- [ ] Objekt an Funktion mit passendem Methodenkopf übergebben (0.5 Pkt)
- [ ] Membervariable in Fkt verändert (0.5 Pkt)
- [ ] Objekt zurückgegeben (0.5 Pkt)
- [ ] Wert ausgeben (0.5 Pkt)
- [ ] Wo liegt das Problem im Codebeispiel? (1.5 Pkt)
- [ ] **Bonus** C++-Implementierung testen. (zusätzlich 3 Pkt)
Vector
------
- Konstruktor
- [ ] Initialisieren des Arrays. (1 Pkt)
- [ ] Initialisieren der Variablen. (1 Pkt)
- `reserve`
- [ ] Vergrößern der Kapazität (1 Pkt)
- [ ] Kopieren des Inhaltes (1 Pkt)
- `size` / `capacity`
- [ ] `size` (0.5 Pkt)
- [ ] `capacity` (0.5 Pkt)
- `push_back`
- [ ] Am Ende angehängt. (1 Pkt)
- [ ] Vergrößern der Liste beachtet. (1 Pkt)
- [ ] Vergrößern der Kapazität beachtet. (0.5 Pkt)
- `insert`
- [ ] An beliebiger Stelle einsetzbar. (1 Pkt)
- [ ] Vergrößern der Liste beachtet. (0.5 Pkt)
- [ ] Vergrößern der Kapazität beachtet. (0.5 Pkt)
- `operator[]`
- [ ] Funktioniert (0.5 Pkt)
- [ ] mit Referenz (0.5 Pkt)
- `clear`
- [ ] Inhalt wird gelöscht. (1 Pkt)
- `shrink_to_fit`
- [ ] Verkleinern der Kapazität. (1 Pkt)
- [ ] Kopieren des Inhaltes. (0.5 Pkt)
- Destructor
- [ ] Löschen des Array-Speichers. (1 Pkt)
- Copy-Konstruktor
- [ ] Kopieren des Inhaltes. (0.5 Pkt)
- [ ] Initialisieren der Variablen. (0.5 Pkt)
- `operator=`
- [ ] Überschreiben des Inhaltes. (1 Pkt)