PG2 - Programmieren C++ - SS 2009 - Übung 3 1. Erweitern der komplexe Zahlen Klasse aus Übung 2 - Methoden zum Rechnen mit komplexen Zahlen hinzufügen: add(), sub(), div(), mul() - Methoden übernehmen ein Objekt der Klasse complex, analog zum Kopierkonstruktor, und liefern keinen Rückgabewert, sondern Ändern das aktuelle Objekt - im Hauptprogramm die Rechenoperationen testen 2. Erweitern der komplexe zahlen Klasse um Polardarstellung - Methoden zum Umrechnen in Polardarstellung implementieren: mod() liefert den Betrag (Modulus) der komplexen Zahl arg() liefert den Winkel (Argument) der komplexen Zahl - benötigte Include(s) für math. Funktionen nachschlagen, z.B. auf http://www.cplusplus.com - Ausgabe-Methode für die Polardarstellung printpolar() erstellen, unter Verwendung der Methoden mod() und arg() - erstellte Methoden im Hauptprogramm aufrufen 3. Erweitern der komplexe Zahlen Klasse um Ausgabe-Operator - Ausgabe-Operator '<<' müßte in cout mit Objekt von complex als Paramater implementiert werden, aber cout ist vorgegeben und kann nicht geändert werden - separate Operator-Funktion erstellen, die einen ostream und ein Objekt vom Typ complex als Parameter übernimmt: ostream &operator<< (ostream &os, const complex &c) { return os; } - diese Operator-Funktion in der Klassendefinition als 'friend' der Klasse complex deklarieren, damit innerhalb der Funktion der Zugriff auf die privaten Attribute möglich ist friend ostream &operator<< (ostream &os, const complex &c); - ggf. 'using namespace std;' vorziehen, damit die Verwendung des Namespace in der complex.h bereits definiert ist, oder die Anweisung in der complex.h nochmals hinzufügen - in der separaten Operator-Funktion wird dann die gewünschte Ausgabe für Objekte der Klasse complex implementiert