diff --git a/u01/readme.txt b/u01/readme.txt new file mode 100644 index 0000000..bf9a9a3 --- /dev/null +++ b/u01/readme.txt @@ -0,0 +1,42 @@ + + +# Praxisaufgabe 1 Einführung in die Computergrafik + +## Team + + * Simon Bruder, Matrikelnummer: 5075324 + +## Bearbeitete Zusatzaufgaben + + * Rekursive Traversierung: `node::print_recursive()` + * Iterative Traversierung: `node::print_iterative()` + * Bauen einer dynamischen Bibliothek `libtree.so` (siehe unten für Hinweise) + * Bauen einer statischen Bibliothek `libtree.a` + +## Hinweise + +### Signatur der Traversierungsmethoden + +Die rekursive und iterative Traversierung sollen laut Aufgabenstellung +„ähnlich zum `<<`-Operator“ implementiert werden. +Da es aber pro Klasse nur eine Implementation des `<<`-Operators geben kann, +habe ich die Funktionen so implementiert, dass sie `std::string` zurückgeben +und damit die Anwendung ähnlich ist wie bei Verwendung von `print` (aus 1.2.3): + +```cpp +// statt +std::cout << n; +// ist es für die anderen Traversierungsmethoden +std::cout << n.print_recursive(); +// bzw. +std::cout << n.print_iterative(); +``` + +### Statische und dynamische Bibliothek + +Im Normalfall baut das CMake-Projekt eine statische Bibliothek und linkt `main` dagegen. +Damit ist Zusatzaufgabe 3 erfüllt. + +Um eine dynamische Bibliothek zu bauen und `main` dagegen zu linken, +kann CMake mit `-DBUILD_SHARED_LIBS=ON` aufgerufen werden. +Da unter GNU keine spezifischen Annotationen dafür nötig sind, ist Zusatzaufgabe 4 erfüllt.