Methodensammlung richtig strukturieren
-
Hi,
ich habe eine Klasse für Komplexe Zahlen erstellt. Nun würde ich noch gerne mit diesen Rechnen können. +|-|*|/ gehen ja recht einfach über Operator überladung. Für höhere operationen (potenzieren, wurzelziehen ect.) würde ich das gerne genauso machen, wie es <math> für double-werte macht.
pseudocode:
@
#include "komplexeZahl"
#include "komplexeRechnung"komplexeZahl z1(1,3);
komplexeZahl z2 = cpow(z1);
@Ich habe dazu eine .h (siehe unten) und eine .cpp Datei unabhängig voneinander erstellt.
Meine Frage: Kann ich das so machen, oder ist es schlechter Stil? Nicht alles was funktioniert ist auch sauber umgesetzt ;-). Irgendwie habe ich im Hinterkopf das es eine schlechte Idee ist Methoden außerhalb von Klasen zu erstellen. Wie ist das in <math> realisiert? Kann man die math.h und math.pp evtl. einsehen? Dann könnte ich meine Datei ähnlich aufbauen.@
#ifndef CMPLXMATH_H
#define CMPLXMATH_H#include <math.h>
#include "complexnumber.h"
namespace cmplxMath {
ComplexNumber cpow(ComplexNumber z1, double n);
ComplexNumber cpow(ComplexNumber z1, ComplexNumber z2);
ComplexNumber croot(ComplexNumber z, unsigned int n, unsigned int m);
ComplexNumber croot(ComplexNumber z, unsigned int n);
ComplexNumber cln(ComplexNumber z);
ComplexNumber clog(ComplexNumber, double base);
}#endif // CMPLXMATH_H
@PS: Ich weiß, es gibt schone eine möglichkeit komplex zu rechnen, aber die in <complex> vorhandenen operatoren reichen für mein Vorhaben nicht aus.
Danke und Gruß,
Nobody-86