Quelle est la différence entre struct et class en C++ ? Quand utiliser quoi ?
Salut, collègues !
Je viens de commencer à apprendre le C++ et je n'arrive pas à comprendre la différence entre struct et class. À première vue, ils se ressemblent presque — tous deux permettent de regrouper des données et des méthodes. Mais pourquoi alors le langage a-t-il deux mots-clés pour la même chose ?
J'ai lu qu'en C (d'où vient struct), les structures ne stockent que des données, tandis qu'en C++ on y a ajouté des méthodes. Mais voici un exemple :
```cpp
struct Point {
int x, y;
void print() { cout << x << ", " << y; }
};
class Circle {
int radius;
void draw() { /* ... */ }
};
```
Si j'essaie de faire ceci :
```cpp
Point p;
p.x = 10; // Fonctionne
Circle c;
c.radius = 5; // Erreur ! radius — private
```
Pourquoi radius est soudainement devenu private ? Je n'ai rien spécifié de tel ! Dans struct, c'est l'inverse — les champs sont publics par défaut.
No answers yet.
Connectez-vous pour laisser une réponse
Blogs
Clean Code en C# : principes d'écriture de code lisible avec exemples
Comment écrire une API REST en Swift en 30 minutes : guide pratique
Mocks, stubs et fixtures en Swift : comment tester sans douleur
Comment réussir un entretien JavaScript : niveau avancé