strukt oder klasse??? Welche der Alternativen wird wann angewandt?



  • Hallo ihr,

    ich habe verwende strukt, umd daten varibeln in ein block zusammenzufassen!!

    und klassen um objekte zu erzeugen!!

    aber in C++ können in eimen strukt auch funktionen, konstruktoren, destruktor, private/public etc. deklariert werden!

    als was ist dann der genaue unterschied?? auser der vererbung ???

    seh ich das richtig das ich mit einem strukt varibalen in eine gruppe zusammenfasse? oder gibt es da auch andere möglichkeiten??

    grüße



  • technisch sind struct und class gleichwertig mit Ausnahme des Default-Zugriffs - wenn du nichts anderes angibst, sind struct-Elemente public und class-Elemente private.

    Semantisch verwende ich struct, wenn die Daten-Elemente im Zentrum der Arbeit stehen (und auch von außen zugegriffen werden sollen), und class, wenn die Daten nur intern interessant sind (Zugriff erfolgt über definierte Methoden).



  • BorisDieKlinge schrieb:

    als was ist dann der genaue unterschied?? auser der vererbung ???

    Was meinst Du mit Vererbung? Wo unterscheiden sich Structs und Klassen da?



  • Konrad Rudolph schrieb:

    BorisDieKlinge schrieb:

    als was ist dann der genaue unterschied?? auser der vererbung ???

    Was meinst Du mit Vererbung? Wo unterscheiden sich Structs und Klassen da?

    Na struct foo : std::list< int > {}; und class foo : std::list< int > {}; sind nicht das gleiche.



  • meine ansicht nach ist es schon das gleiche. zugriff wird durch vererbung nicht geändert, auch struct kennt private, protected, public und behandelt sie genau so wie class. nur der standard zugriff für struct member ist public, bei class private.

    in c++ kanst du unter berücksichtigung dieser vorgabe struct und class gleichwertig verwenden.

    ich persönlich benutz structs ausschliesslich für strukturen. also methodenlose container.



  • hmm ok danke soweit!!

    dachte man kann strukts nich vererben also das:

    struct a{};

    struct b public a{};

    und gibt es noch eine andere möglichkeit variabeln zusamenzufassen?



  • Ja mit class und union



  • ok was unter scheidet dann union von strukts und class?



  • Hallo

    könnt ihr alles hier nachlesen.

    bis bald
    akari


Anmelden zum Antworten