Pourkoi pointeur vers classe ?

cs_Arkko Messages postés 192 Date d'inscription mercredi 26 décembre 2001 Statut Membre Dernière intervention 31 janvier 2007 - 29 juil. 2003 à 05:21
cs_Arkko Messages postés 192 Date d'inscription mercredi 26 décembre 2001 Statut Membre Dernière intervention 31 janvier 2007 - 29 juil. 2003 à 17:11
Quelquun peut m'expliquer pourquoi ce code cree un pointeur NULL vers un classe et apres quil declare un variable de type cMyD3dApplication et met une referance vers la variable d'avant ...( mon probleme est pas vraiment clair je crois...)

//-----------------------------------------------------------------------------
// Global access to the app (needed for the global WndProc())
//-----------------------------------------------------------------------------
CMyD3DApplication* g_pApp  = NULL; // CETTE LIGNE
HINSTANCE          g_hInst = NULL;

//-----------------------------------------------------------------------------
// Name: WinMain()
// Desc: Entry point to the program. Initializes everything, and goes into a
//       message-processing loop. Idle time is used to render the scene.
//-----------------------------------------------------------------------------
INT WINAPI WinMain( HINSTANCE hInst, HINSTANCE, LPSTR, INT )
{
    CMyD3DApplication d3dApp; // CELLE CI

    g_pApp  = &d3dApp; // ET FINALEMENT ELLE
    g_hInst = hInst;

    InitCommonControls();
    if( FAILED( d3dApp.Create( hInst ) ) )
        return 0;

    return d3dApp.Run();
}

2 réponses

fredcl Messages postés 547 Date d'inscription mercredi 8 janvier 2003 Statut Membre Dernière intervention 7 octobre 2007 1
29 juil. 2003 à 16:15
WinMain et le point d'entrée dans un programme windows
donc quand on sort de la fonction Winmain le programme se termine.

d3App est une variable qui représente une instance de classe CMyD3DApplication. Cette classe est créée lors de la déclaration et est détruite après le retour de sa fonction menbre Run (puisque la valeur de retour de cette fonction est la valeur de retour de WinMain)

g_pApp est un pointeur sur une classe CMyD3DApplication, ce pointeur est global.

la ligne g_pApp = &d3dApp;

affecte l'adresse de d3dApp au pointeur global g_pApp.
ce qui permet à d'autres fonctions d'accèder à la classe d3dApp à travers le pointeur global car elles ne peuvent voir
l'instance d3dApp directement.

Si je ne suis pas assez clair, tu peux toujours demanderr des précisions

A+

Fred
0
cs_Arkko Messages postés 192 Date d'inscription mercredi 26 décembre 2001 Statut Membre Dernière intervention 31 janvier 2007
29 juil. 2003 à 17:11
Ok je crois bien comprendre ....
0
Rejoignez-nous