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?
Noch keine Antworten.
Anmelden um eine Antwort zu hinterlassen