oop-forcpp-2022W02
====== MONTAG =====
from Martin Weitzel to Everyone: 9:23 AM
https://onlinegdb.com/TDRgE0Bbm
from Martin Weitzel to Everyone: 10:36 AM
Aufgabe DRY Musterlösung https://onlinegdb.com/jos5ngH6nR (Seite GR 13)
from Martin Weitzel to Everyone: 10:37 AM
ODER Aufgabe KISS https://onlinegdb.com/BJB0sAUvs (Seite GR 17)
from Martin Weitzel to Everyone: 11:35 AM
https://github.com/HowardHinnant/date
from Martin Weitzel to Everyone: 12:18 PM
https://ubiquity.acm.org/article.cfm?id=1513451
from Martin Weitzel to Everyone: 12:34 PM
Beispiel zu Optimierungen https://godbolt.org/z/bYjdfzo5a (beide Varianten Seite GR37 und GR 38 sowie zusätzliche eigene Variante)
from Martin Weitzel to Everyone: 1:25 PM
https://godbolt.org/z/5YbP6d96h
from Martin Weitzel to Everyone: 1:35 PM
http://coliru.stacked-crooked.com/a/fe044ba2626063bd
from Martin Weitzel to Everyone: 1:42 PM
https://www.informit.com/articles/article.aspx?p=1881386&seqNum=2
from Martin Weitzel to Everyone: 2:01 PM
Aufgabe SRP (Schulungsunterlage SO-10) https://onlinegdb.com/ngyV2PuB-
from Martin Weitzel to Everyone: 2:02 PM
Lösung SRP (Schulungsunterlage SO-10) https://onlinegdb.com/A5Nt63zLi
from Martin Weitzel to Everyone: 2:57 PM
https://tbfe.de/data/uploads/infographics/Example-OpenClosePrinciple.png
from Martin Weitzel to Everyone: 3:09 PM
Aufgabe OCP (Schulungsunterlage SO-12) https://onlinegdb.com/FKsMuplKA
from Martin Weitzel to Everyone: 3:13 PM
Lösung (gemäß Schulungsunterlage SO-16) nicht vorhanden, kann aber nachgereicht werden).
from Martin Weitzel to Everyone: 3:13 PM
Lösung (gemäß Schulungsunterlage SO-17) https://onlinegdb.com/hNqUHeqnq
from Martin Weitzel to Everyone: 4:27 PM
https://youtu.be/IqVZG6jWXvs?t=191
from Martin Weitzel to Everyone: 4:31 PM
Lösung (gemäß Schulungsunterlage SO-16) https://onlinegdb.com/I1qWOnpJQ (nachgereicht wie versprochen)
===== DIENSTAG =====
from Martin Weitzel to Everyone: 8:39 AM
https://godbolt.org/z/Kz3bMh1d4
from Martin Weitzel to Everyone: 8:41 AM
https://tbfe.de/en/oop-forcpp-2022w02
from Martin Weitzel to Everyone: 8:47 AM
https://isocpp.org/wiki/faq/proper-inheritance
from Martin Weitzel to Everyone: 9:07 AM
Übung LSP (Seite SO 20) https://onlinegdb.com/JgiVOw9Wk (plus kleine Pause nach Bedarf bis 9:30)
from Martin Weitzel to Everyone: 9:09 AM
Vorab Musterkösungen (evtl. schon mal ansehen) Links kommen jetzt gleich nach und nach im Chat mit einer ganz kurzen Beschreibung.
from Martin Weitzel to Everyone: 9:11 AM
https://onlinegdb.com/yz3-9Ci2Y keine besonderen Maßnahmen, Programm stürzt einfach ab, da abgeleitete Klasse im Prinzip nicht kompatibel im Sinne des LSP ist, zumincdest wenn die Basisklasse als "Nachbedingung" (= "Garantie") sagen würde, dass sie keine Exceptions wirft.
from Martin Weitzel to Everyone: 9:13 AM
https://onlinegdb.com/duETcuYwe in der Schleife, in der Bank::PayInterest jeweils Account::CalculateInterest aufruft, werden alle Exceptions (stillschweigend) ignoriert.
from Martin Weitzel to Everyone: 9:17 AM
https://onlinegdb.com/NqbqeE0SAj ähnlich wie zuvor, jedoch wird eine evtl. von Account::PayInterest geworfene Exception mittels eines Lambda in den "normalen" Rückgabewert "0" umgewandelt.
from Martin Weitzel to Everyone: 9:19 AM
https://onlinegdb.com/KXlbscKiF durch eine Laufzeit-Typprüfung wird vermieden, dass Account::Interest überhaupt aufgerufen wird, wenn das Objekt die abgeleitete Klasse PocketMoneyAccount ist
from Martin Weitzel to Everyone: 9:22 AM
Von PocketMoneyAccount::CalculateInterest wird einfach 0 zurückgegeben statt eine Exception geworfen; das entspricht aber nicht so ganz dem "Geist" der Aufgabenstellung, da diese sagte, dass das Verhalten dieser Klasse nicht änderbar sein soll.
from Martin Weitzel to Everyone: 10:36 AM
Aufgabe (Seote SO-26) https://onlinegdb.com/EJR-5XhPV
from Martin Weitzel to Everyone: 10:37 AM
Loesung zur Aufgabe (Seite SO 26) https://onlinegdb.com/EJR-5XhPV
from Martin Weitzel to Everyone: 11:38 AM
Aufgabe FCol_1 (Seite WR-19) Code o
from Martin Weitzel to Everyone: 12:35 PM
sorry, zu früh auf return gekommen, nochmal neu gleich
from Martin Weitzel to Everyone: 12:37 PM
https://onlinegdb.com/6aVEdOoDg Übung FCoI_1 (Seite WR-19) nur kurzer Review um das Problembewusstsein zu erzeugen.
from Martin Weitzel to Everyone: 12:39 PM
https://onlinegdb.com/GJ8ywJkQI Lösung zu FCoI_1 nur um zu zeigen, dass und wie es gehen könnte, kein besonders schöner Code. Evtl. Ansehen nur wegen nachfolgender Besprechung der Problematik, sonst eher Konzentration auf den nächsten Teil
from Martin Weitzel to Everyone: 12:42 PM
https://onlinegdb.com/YKQ5-6kS8 Übung FCoI_2 (Seite WR-26) sehr viel schönere aber auch deutlich umstrukturierte Lösung. Auf jeden Fall Review und gerne auch Umsetzung der TODO-s.
from Martin Weitzel to Everyone: 12:44 PM
https://onlinegdb.com/YKQ5-6kS8 Lösung FCoI_2 evtl. gegen Ende der Übungszeit mal mit der eigenen Umsetzung vergleichen ODER als "Ideengeber" wenn es mit der eigenen Umsetzung irgendwo "klemmt".
from Martin Weitzel to Everyone: 12:47 PM
Ich bin ab ca. 13:00 wieder am Platz. Weiter geht es nach der Pause um 13:30 oder um 13:45 (ich frage vorher nochmal nach wie weit ihr seid und ob bzw. wann wir weitermachen sollen).
from Martin Weitzel to Everyone: 1:10 PM
Habe mir gerade nochmal die TODO-s in FCoI_2 angesehen. Ich denke, das ist einfach genug dass wir um 13:30 weitermachen können. Code Review von FCoI_2 wäre aber ggf. wichtig für evtl. Fragen bei der Besprechung.
from Martin Weitzel to Everyone: 1:13 PM
FCoI_1 ist im Vergleich dazu weniger wichtig. Ich bin weiterhin da, auch wenn ich nicht am Platz sitze. Ich habe auf Lautsprecher umgeschaltet und höre es, wenn jemand mich anspricht.
from Martin Weitzel to Everyone: 1:47 PM
https://herbsutter.com/2013/08/12/gotw-94-solution-aaa-style-almost-always-auto/
from Martin Weitzel to Everyone: 1:58 PM
https://onlinegdb.com/QokUSJ5rY
from Martin Weitzel to Everyone: 3:19 PM
Aufgabe Smells (Seite Ref-33) https://onlinegdb.com/hdEmY9hbj
===== MITTWOCH =====
https://godbolt.org/z/EnWWGrPMh