Avatar ·

Was ist der Unterschied zwischen struct und class in C++? Wann verwendet man was?

Hallo Kollegen! Ich habe gerade angefangen, C++ zu lernen, und kann den Unterschied zwischen struct und class nicht verstehen. Auf den ersten Blick sehen sie fast gleich aus – beide erlauben das Zusammenfassen von Daten und Methoden. Aber warum gibt es dann zwei Schlüsselwörter für dasselbe in der Sprache? Ich habe gelesen, dass in C (woher struct stammt) Strukturen nur Daten speichern, während in C++ ihnen Methoden hinzugefügt wurden. Aber hier ist ein Beispiel: ```cpp struct Point { int x, y; void print() { cout << x << ", " << y; } }; class Circle { int radius; void draw() { /* ... */ } }; ``` Wenn ich versuche, Folgendes zu tun: ```cpp Point p; p.x = 10; // Funktioniert Circle c; c.radius = 5; // Fehler! radius ist private ``` Warum ist radius plötzlich private? Ich habe so etwas nicht angegeben! Bei struct ist alles umgekehrt – Felder sind standardmäßig öffentlich. Ist das der einzige Unterschied? Und noch ein Punkt: Ich habe gesehen, dass Leute struct für kleine Datenstrukturen (wie Punkte, Zahlenpaare) verwenden und class für große Objekte mit Logik. Ist das empfohlen?