Unterschied zwischen Datenytp und Klasse



  • Hi Leute,
    was is'n der Unterschied zwischen am Datenty und 'ner Klasse?



  • fasdfg schrieb:

    Hi Leute,
    was is'n der Unterschied zwischen am Datenty und 'ner Klasse?

    Eine Klasse ist ein Datentyp. Allerdings gibt es auch Datentypen, die in C++ keine Klassen sind. Dazu gehören insbesondere die Basis-Datentypen wie 'int' und 'char', sowie zusammengesetzte Datentypen (Zeiger, Referenzen, Arrays) und Zeiger auf Funktionen.

    Außerdem gibt es noch 'struct's, die ich aber in C++ auch zu den Klassen zählen würde. Der einzige Unterschied zur Verwendung des 'class'-Schlüsselworts ist die Standard-Sichtbarkeit bei der Vererbung und bei Klassen-Mitgliedern.


  • Mod

    siehe http://www.c-plusplus.net/forum/viewtopic-var-t-is-194356.html
    Klassen sind Datentypen, die unter Verwendung der Schlüsselworte class, struct oder union deklariert werden.



  • Eine Klasse ist ein abstrakter Datentyp, zusammen gesetzt aus den Grunddatentypen.

    Mit der Aussage macht man erst mal nichts falsch.



  • allsool schrieb:

    Eine Klasse ist ein abstrakter Datentyp, zusammen gesetzt aus den Grunddatentypen.

    Mit der Aussage macht man erst mal nichts falsch.

    Doch, sogar jede Menge. Klassen sind konkrete Datentypen. Unter abstrakten Datentypen wird man wohl je nach Kontext wohl andere Dinge verstehen, aber nie das, was Du meinst.



  • Jo, das dachte ich mir auch 🙂
    Das einzige wo Klassen in C++ abstrakt sein können sind virtual pure Memberfunktionen. (Und das natürlich was gänzlich anderes als was man normalerweise unter einem "abstrakten Datentyp" versteht)

    Und natürlich kann man Klassen auch aus anderen Klassen zusammenbasteln, nicht nur aus "Grunddatentypen".


Log in to reply