Variablen in Klasse oder Struct?



  • Ich will eine Liste von Variablen anlegen.
    Was ist der bessere Weg, ein Struct oder eine Klasse zum Variablenspeichern anlegen?



  • "Besser" ist in dem Sinn nichts. Wenn, dann geht es darum was intuitiver zu benutzen ist. Wenn es sich wirklich nur um Variablen handelt (und keine Funktionen o.ä.) und diese public sein sollen würde ich eine struct nehmen. In allen anderen Fällen eine Klasse.



  • technisch gesehen ists egal.
    struct verwendet man eher, wenn man nur ein paar Variablen gruppieren will, class eher, wenn auch einige Methoden daran beteiligt sind - klassischen OOP eben.



  • Ich würde es so ausdrücken:
    Immer erstmal an class denken. Ruhig auch class nehmen. FALLS dann alle Members public werden, gerne nach struct umnennen. Denn wenn ich Code lese und struct da steht, erwarte ich, daß alle Members public sind. Weiß nicht, wie es den anderen geht, ich könnte Deinen Code dann flüssiger lesen.

    Naja, virtuelle Methode würde ich in struct auch nicht erwarten. Handgeschriebene Destruktoren schon gar nicht.



  • Ohne weitere Vorgaben: Ganz klar struct mit öffentlichen Membern. Schreibzugriff kontrolliert man mit const , nicht mit Methoden. Wir sind hier nicht in Java.

    EDIT:
    Wenn das ganze einen wiederverwendbaren Typ mit Abhängigkeiten zwischen den Membern ergeben soll, ist private angebracht. Bla usw.

    Mehr Kontext wäre hilfreich.


Log in to reply