Nous utilisons souvent des structures c ++ pour définir la structure des données par opposition à la classe qui peut être un module complet avec des méthodes membres. Maintenant, au fond, nous savons que les deux sont les mêmes (en gros).
Le fait que nous utilisons / traitons souvent les structures en tant qu'entités de données uniquement crée cette envie de ne pas ajouter également de constructeurs par défaut. Mais les constructeurs sont toujours super, ils simplifient les choses et aident à éliminer les erreurs.
Serait-il mal vu si j'ajoutais des constructeurs par défaut à mes structures de données?
L'implémentation du constructeur par défaut rend-elle également la structure Non-POD (type de données ancien simple) à condition que d'autres critères soient remplis?
Pour mettre les choses en perspective, considérons un exemple simple mais en réalité la structure serait beaucoup plus grande.
struct method
{
char name[32];
float temperature;
int duration;
};
Chaque fois que je crée une méthode, je dois m'inquiéter (pour dire le moins) si j'oublie de définir une valeur. Imaginez que j'oublie de définir temperature
et d'appliquer la méthode au système qui est maintenant une valeur élevée aléatoire et provoque le chaos. Ou j'ai oublié de définir duration
et maintenant la méthode s'applique elle-même pour une durée élevée inconnue.
Pourquoi devrais-je prendre la responsabilité d'initialiser l'objet à chaque fois au lieu d'implémenter son constructeur qui le garantit?
struct
et class
est que l'un par défaut est privé et l'autre public.