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 ??
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]	
}
En gros c'est l'equivalent de instanceof() de java pour ceux qui connaissent