Punkteverteilung für Blatt 05

2-Tupel

Shared Pointer

Vector




Quelltext

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)