Ü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 =
}