Variablen setzen innerhalb einer Funktion / Stilfrage



  • Ich habe eine Stilfrage zum Variablensetzten innerhalb von Funktionen.
    In MyFunction1 wird nur die Variable verändert, die auch in der Parameterliste steht. (String &value).
    In MyFunction2 werden auch andere Variablen, globale Variablen oder Variablen anderer Klassen verändert.

    Ist dieser zweite Fall grundsätzlich erlaubt oder gibt es einen besseren/richtigeren Weg? (abgesehen von Getter/Setter).

    void MyClass::MyFunction1(String &value)
    {
    	value = mach was damit
    }
    
    void MyClass::MyFunction2(String &value)
    {
    	value = mach was damit
    	m_global = mach was damit
    
    	classb->value = mach irgendwas
    }
    


  • Hallo,

    in der Regel dienen Funktionen (Methoden) einer Klasse dazu, eine bestimmte Aufgabe zu erfüllen. Ist es Aufgabe der Funktion z.B. den internen Status einer Klasse zu ändern, dann darf und muss man Eigenschaften dieser ändern. Gleiches gilt für untergeordnete Klassen, die als Member der Klasse verwendet werden bzw. die im Scope der Funktion verwendet werden.

    // EDIT: Nimm Abstand von globalen Variablen und gewöhne dir diese auch garnicht erst an.


Anmelden zum Antworten