Hi so kurz vor Weihnachten noch ne Frage. Ich lern grad c++ und seh vom Aufbau her keinen Unterschied zwischen Klasse und Struktur. Kann mir jemand weiterhelfen?
Wünsche euch allen noch frohe Weihnachten und guten Rutsch.
KN2012-12-23T06:04:37Z
Beste Antwort
Struktur ist die Darstellung der Daten. z.B ein Punkt in 3D ist float[3]. Versiehst du diese Struktur noch mit Methoden (Funktionen) die Du auf diese Klasse anwenden kannst, dann wird daraus eine Klasse. Die Struktur float[3] könnte z.B. Methoden init, draw, savetofile usw. erhalten und wird dadurch zur Klasse.
Wenn man es genau nimmt eigentlich gar keiner. C++ ist ursprünglich ein Präprozessor für C. Eine Klasse ist dabei nichts weiter als eine Struktur Daten (Member) und Funktionszeigern (Methoden) selbst die Vererbung ist mit einer Struktur abbilden indem hier ein Element Base abgelegt wird. Eine klasse ist also eine Struktur mit einer ganz bestimmten Funktionalität. class test : basetest { long wert; long methode(long param); } Kannst du auch abbilden mit typedef struct _test { struct basetest; long wert; long (*methode) (long param); } test;
Du siehst du kannst mit einer Struktur sehr wohl eine klasse abbilden. C++ ist dabei nur eine Sprachvereinfachung. Anders herum ist eine klasse eine spezielle Struktur. Übrigens lässt sich selbst die virtualiierung mit Hilfe einer Union realisieren.