Je suis à la recherche à la mise en œuvre d'une API que j'utilise.
J'ai remarqué qu'une struct hérite d'une classe et j'ai fait une pause pour réfléchir sur elle...
Tout d'abord, je n'ai pas vu dans le C++ manuel j'ai étudié avec une struct pourrait hériter d'une autre structure:
struct A {};
struct B : public A {};
Je suppose que, dans un tel cas, struct B hérite de toutes les données dans stuct A. Peut-on déclarer public/privé, dans une struct?
Mais j'ai remarqué ceci:
class A {};
struct B : public A {};
À partir de ma ligne en C++ manuel:
Une classe est un concept élargi de la structure des données: au lieu de tenir les seules données, il peut contenir à la fois des données et des fonctions.
Est la au-dessus de l'héritage valide même si la classe A a certaines fonctions de membre? Qu'advient-il des fonctions lorsqu'un struct hériter d'eux? Et que dire de l'inverse: une classe héritant d'une struct?
Pratiquement parlant, j'ai ceci:
struct user_messages {
std::list<std::string> messages;
};
Et je l'ai utilisé pour itérer dessus comme c' foreach message in user_messages.messages
.
Si je veux ajouter des fonctions de membre de ma structure, je peut modifier sa déclaration et de "promouvoir" à une catégorie, ajouter des fonctions, et encore itérer sur mon user_messages.les messages que j'ai fait avant?
Évidemment, je suis encore un newbie et je suis encore difficile de savoir comment les structures et les classes d'interagir les uns avec les autres, quelle est la différence pratique entre les deux, et ce que les règles d'héritage sont...