Klassen als Parameter oder mit Funktionen



  • Hallo.
    Schreibt ihr eher:

    struct A{
        void Machwas();
        int B;
    };
    

    oder:

    struct A{int B;};
    void Machwas(A* pA);
    

    Würde mihc mal interessieren.Danke.



  • class A {
    
      public:
        void doSomething();
    
      private:
    #ifdef USE_HUNGARIAN
        int m_iSomethingMeaningfulButShorter;
    #else
        int somethingMeaningfulButShorter;
        // and use it by this->somethingMeaningfulButShorter
    #endif
    };
    

    Kleiner Styleguide:
    http://geosoft.no/development/cppstyle.html#General

    Grüsse

    *this



  • Hallo.

    Ich vermute deine Frage bezieht sich darauf, ob man eine Funktion, die was mit einer Klasse macht, eher in der Klasse deklariert oder außerhalb und dann eine Referenz übergibt.

    Das kann man nicht generell beantworten. Technisch möglich ist natürlich beides. Welche Variante man wählt, ist eine Designentscheidung die von einer Menge Überlegungen abhängen kann:

    Legt die Methode ein charakteristisches Verhalten der struct oder eine Schnittstelle nach außen fest, so dass man sagen kann dass die Methode typischerweise zum Objekt gehört -> IN der struct deklarieren.

    Hat die Methode eher "Werkzeug"-Charakter und gehört nicht wirklich zum Objekt selbst -> Eher außerhalb.


Anmelden zum Antworten