Pourkoi pointeur vers classe ?

Messages postés
192
Date d'inscription
mercredi 26 décembre 2001
Statut
Membre
Dernière intervention
31 janvier 2007
- - Dernière réponse : 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();
}

Afficher la suite 

2 réponses

Messages postés
547
Date d'inscription
mercredi 8 janvier 2003
Statut
Membre
Dernière intervention
7 octobre 2007
1
0
Merci
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
Commenter la réponse de fredcl
Messages postés
192
Date d'inscription
mercredi 26 décembre 2001
Statut
Membre
Dernière intervention
31 janvier 2007
0
Merci
Ok je crois bien comprendre ....
Commenter la réponse de cs_Arkko