Je viens tout juste de commencer le C++ (je connais relativement bien le php), j'ai parcouru le cours de C de Mateo, j'ai cerné les grandes lignes, pointeurs, structures & Co.
Je lis plus profondément un cours sur developpez.com
Je ne comprends pas bien l'utilité de l'héritage d'une classe, comme classe virtuelle ...
Citation : Pas de titre
Le problème est résolu en déclarant virtuelle la classe de base commune dans la spécification de l'héritage pour les classes filles. Les données de la classe de base ne seront alors plus dupliquées. Pour déclarer une classe mère comme une classe virtuelle, il faut faire précéder son nom du mot clé virtual dans l'héritage des classes filles.
Edit : Ensuite, j'ai un petit peu de mal avec les classes amies, cela permet juste à une autre classe d'accéder à des champs privés d'une autre classe ?
Ps.: Je me doute qu'on a pas besoin de ça tous les jours, mais bon
Si on a 2 classes héritées B,C de la même classe A. Si on crée un classe D qui hérite de B et C, alors on se retrouve avec 2 instances de A.
C'est à dire que si dans A il y a un booléen : bool chose;
alors il y en a un pour la classe héritée de B, et un pour la classe hérité de C, donc déja ca prend 2x trop de place mémoire, puis ca oblige à faire 2x les mêmes calculs sur les procédures et fonction de A (une fois pour B une fois pour C), et d'un point de vu informatique : "il ne dois pas y avoir redondance d'information", ie : il faut pas que la même information soit à 2 endroits différents, car cela pose plein d'autres problèmes (de mise à jour notament).
Avec le mot clef virtual, c'est la même instance pour les 2 classes sous jacentes B et C, donc même booléen.
Citation : Touki
Edit : Ensuite, j'ai un petit peu de mal avec les classes amies, cela permet juste à une autre classe d'accéder à des champs privés d'une autre classe ?
De toute facon toute ces histoire de protected... c'est pour faire de la programmation sérieuse, donc forcement il doit y avoir ce genre de problèmes, il faut qu'une classe ai finalement accès au éléments protégés, alors que les autres non.
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.