A voir également:
- C'est quoi un heritage virtuel
- Metre virtuel - Guide
- Bureau virtuel windows 10 - Guide
- Ami virtuel - Guide
- Clavier virtuel arabe - Télécharger - Divers Web & Internet
- Pc virtuel - Télécharger - Émulation & Virtualisation
2 réponses
Non la question n'est pas débile, mais ce n'est pas un question de débutant !
La réponse est simple: dans l'exemple donné, ça ne change strictement rien; oh, je t'entends déjà poser la question: mais pourquoi mettre 'virtual' ? Ce ne peut être utilisé que dans le cas d'héritage multiple; je vais essayer d'expliquer sans rentrer dans le détail.
S'il n'y avait pas 'virtual', la classe M recevrait deux copies de 'int a' (l'une par B et l'autre par C).
Dans la cas présent, 'virtual' impose une unicité de 'int a'; donc &M.B::a, &M.C::a et &M.a pointent vers le même objet.
Voilà, je ne m'étendrais pas plus; c'est rarement utilisé.
Bon courage.
La réponse est simple: dans l'exemple donné, ça ne change strictement rien; oh, je t'entends déjà poser la question: mais pourquoi mettre 'virtual' ? Ce ne peut être utilisé que dans le cas d'héritage multiple; je vais essayer d'expliquer sans rentrer dans le détail.
class A { public: int a; }; class B : virtual public A { public: int b; }; class C : virtual public A { public: int c; }; class M : public B, public C { public; int m; };
S'il n'y avait pas 'virtual', la classe M recevrait deux copies de 'int a' (l'une par B et l'autre par C).
Dans la cas présent, 'virtual' impose une unicité de 'int a'; donc &M.B::a, &M.C::a et &M.a pointent vers le même objet.
Voilà, je ne m'étendrais pas plus; c'est rarement utilisé.
Bon courage.
redskins72
Messages postés
7154
Date d'inscription
jeudi 23 avril 2009
Statut
Membre
Dernière intervention
18 décembre 2016
646
28 avril 2009 à 01:15
28 avril 2009 à 01:15
tiens cela va repondre a tes question : https://www.commentcamarche.net/contents/556-java-l-heritage