Doublons possibles:
C++ pointer multi-inheritance fun.
more c++ multiple inheritance funC++ héritage multiple
Ceci est un problème qui se pose de traiter avec la classe de base pointeur compté ref et filetage amusant.
Étant donné:
class A{int x, y;};
class B{int xx, yy;};
class C: public A, public B {int z;};
C c;
C* pc = &c;
B* pb = CtoB(pc);
A* pa = CtoA(pc);
assert(pc == AtoC(pa));
assert(pc == BtoC(pb));
Comment puis-je écrire CtoB et CTOA pour obtenir le B & A parties de C? Comment écrire en AtoC et en BtoC pour récupérer le C original?
Merci!
Pourquoi les votes se terminent?
Mes deux questions précédentes demandaient si quelque chose était valide (la réponse était «non»); cette question demande "quelle est la manière valide de faire la conversion de pointeur."
Avez-vous vraiment besoin d'une 3ème question avec le même thème? http://stackoverflow.com/questions/2158512/more-c-multiple-inheritance-fun et http://stackoverflow.com/questions/2157104/c-pointer-multi-inheritance-fun – Trent