Übungen zum Softwarepraktikum SS 2005:
Abgabe der Lösungen bis Montag abend (23.05.2005) 18.00 Uhr per
E-Mail:
Gruppe Sound-Memory:
janis.fehr@gmx.de
Gruppe Computer Grafik: shamoha@mac.com
In dieser Aufgabe sollen die bestehenden Klassen IntImage und SimpleRGBImage mittels Templates zu eine Klasse Image zusammen gefasst werden. Mit dem Programm ImShow können dann diese Bild-Klassen betrachtet werden.
Schreiben Sie ein Testprogramm (testImage.cc) welches die Funktionalitäten der Image-Klasse testet.
Implementieren Sie die Klasse Image welche alle funtionalitäten der IntImage-Klasse mittels Templates für beliebige Pixel-Typen besitzt.
Erweitern Sie die Klasse Image um die Methoden read() und write() für beliebigen Pixel-Typ, sowie einer Spezialisierung für den Typ RGBColor.
Implementieren Sie unter Verwendung der Qt-Bibliothek das Programm ImShow zur Darstellung der Image-Klasse für den Pixel-Typ RGBColor. Die Bilddatei wird als Kommandozeilenparameter übergeben.
Erstellen Sie mittels qmake das benötigte Makefile
Dokumentieren Sie Ihren Code ausführlich und Dxygen konform. Mit doxygen -g wird ein Doxyfile erstellt - doxygen erstellt dann die HTML-Dokumentation.
Implementation von Template-Klassen in der .icc Datei: MyClass.hh --------------------------------------- template < typename T> class MyClass { public: void doSomething( int a, float b); }; #include "MyClass.icc" ---------------------------------------- MyClass.icc ---------------------------------------- template < typename T > void MyClass < T > ::doSomething( int a, float b) { std::cout << "hurz!\n"; } ------------------------------------------
TEMPLATE = app LANGUAGE = C++ CONFIG += qt warn_on release Target1{ message( Building Target1... ) SOURCES = HEADERS = TARGET = Target1 } Target2{ message( Building Target2... ) SOURCES = HEADERS = TARGET = }