next up previous contents
Next: Liaison dynamique et héritage Up: La liaison dynamique Previous: La liaison dynamique

Liaison dynamique et héritage simple

tabular1040

Dans ce cas pour :

C* pc=new C;
B* pb;
A* pa;
on aura :

picture1113

un appel pc->g(2) sera traduit en : *(pc->vptr[1])(pc,2)

Une affectation pb=pc; ou pa=pc copiera le vptr de pc et donc, par exemple, un appel de pb->h(5) sera traduit en : *(pb->vptr[1])(pb,5)

ce qui dans ce contexte reviendra à un appel de : &C::h(pc,5)

Notons, que, dans le cas de l'héritage simple, le pointeur this pointe bien dans tous les cas sur la ``bonne'' zone.




Mon Oct 20 14:02:48 MET 1997