klassendesign frage



  • hallo,

    wenn ich bei einer klasse eine funktion habe, die nur mit membervariablen arbeitet, sollte ich die dann trotzdem als parameter übergeben?

    bsp.: bruchklasse

    long ggT(int zaehler, int nenner);
    long kgV(int zaehler, int nenner);

    oder

    long ggT(void); //greift auf member zaehler und nenner variablen zu
    long kgV(void);

    ich würde eher sagen 1. variante, da man ja die funktionen so dann auch allgemein verwenden kann....

    wie macht man das?

    mfg



  • Entweder du machst sie static oder non-member und verwendest Variante 1 oder du machst sie non-static und verwendest Variante 2.

    non-static und Variante 1 ist Blödsinn.



  • das heißt also entweder:

    class Bruch
    {
    private:
    int zaehler,nenner;
    long kgV(void);
    long ggT(void);
    
    public:
    void kuerzen();
    }
    

    oder:

    was static oder non_member machen (btw. was verstehst du unter non_member)?
    die ggT und kgV funtkionen?

    mfg



  • mi+chl schrieb:

    was static oder non_member machen (btw. was verstehst du unter non_member)?
    die ggT und kgV funtkionen?

    non-member sind ganz normale 'globale' Funktionen. Was natürlich blödsinn ist, wenn du kgv und ggt private haben willst.



  • Gibt es eine gute Bruchklasse zum Downloaden? Bei google bin ich leider nicht fündig geworden.


Anmelden zum Antworten