Bonjour,
J'aimerai savoir pourquoi le code suivant fonctionne (aucun probleme a la compilation ni à l'éxecution) :
L'objet test2 n'a pas de méthode affiche. Je ne comprend pas pourquoi a l'execution je n'est pas de problème (j'ai bien l'affichage 'Bonjour'). Si quelqu'un pouvait m'indiquer ou (est surtout quand) est mis en mémoire le code de la méthode n'affiche. Un pointeur m'est-il du code en mémoire (ou plutot lors du transtypage)? Merci d'avance =)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25 class CTest { }; class CTest2 : public CTest { }; class CTest3 : public CTest { public: void CTest3::Affiche() { cout<<"Bonjour"; }; }; void main() { CTest2 test2; CTest3* ptr3; ptr3 = (CTest3*) &test2; ptr3->Affiche(); }
Partager