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


Log in to reply
 

Looks like your connection to Qt Forum was lost, please wait while we try to reconnect.