salut a tous, j'aimerais savoir comment realiser un cast conditionel en c++. Je m'explique, ma fonction reçoit un pointeur style LAPARAM.
Ce pointeur peur designer un classe A ussi bien qu'une classe B derivée de A, classe C derivée de A, classe D derivée de A...
Si je cast le pointeur en A pas de pb pour avoir acces aux methodes commune a A, B, C, D...... Mais comment faire dans le cas ou c'est une instance de B de C ou de D, comment savoir ce que represente le LPARAM ??
En gros c'est l'equivalent de instanceof() de java pour ceux qui connaissent
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 static BOOL CALLBACK dlgProc (HWND hWnd, UINT wMsg, WPARAM wParam,LPARAM lParam) { [color=red] si lParam est de la classe C alors C* c = (C*) lParam si lParam est de la classe B alors B* b = (B*) lParam ......[/color] }
Partager