IdentifiantMot de passe
Loading...
Mot de passe oubli� ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les r�ponses en temps r�el, voter pour les messages, poser vos propres questions et recevoir la newsletter

MFC Discussion :

Classe Global ?


Sujet :

MFC

  1. #1
    Membre confirm�
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    82
    D�tails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2003
    Messages : 82
    Par d�faut Classe Global ?
    Quel est la meilleur facon de permettre � plusieurs Class, d'utilis� la meme classe, exemple une classe qui enregistre le contexte de l'application.

    dans le cas d'une fonction ou variable , j'ai vu que static est souvent utilis�. et pour une classe comment fait-on ?

    Donc que cette unique instance de classe soit accessible par toutes les classes de l'applications, sans devoir pass� a ces classes en question un pointeurs de cette instance unique.

  2. #2
    R�dacteur
    Avatar de farscape
    Homme Profil pro
    D�veloppeur informatique
    Inscrit en
    Novembre 2003
    Messages
    9 055
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes C�te d'Azur)

    Informations professionnelles :
    Activit� : D�veloppeur informatique
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : Novembre 2003
    Messages : 9 055
    Par d�faut
    salut
    tu peux utiliser un singleton .
    ou aussi utiliser la classe d'application vu que tu y a acces dans toute l'application par la fonction AfxGetApp().


  3. #3
    Membre confirm�
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    82
    D�tails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2003
    Messages : 82
    Par d�faut
    je prefere utiliser , la classe application .
    Mais quand j'essai d'acceder � l'objet membre de la classe d'applciation il y a erreur.

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    class CProgApp : public CWinApp
    {
    public :
       Ctest test;
    }

    dans une autre classe je fais ca
    AfxGetApp()->AppContext;
    j'obtiens cette erreur
    "la 'test' n'est pas membre de la classe d'application CWinApp"

  4. #4
    Expert confirm�

    Homme Profil pro
    pdg
    Inscrit en
    Juin 2003
    Messages
    5 756
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 43
    Localisation : France, H�rault (Languedoc Roussillon)

    Informations professionnelles :
    Activit� : pdg

    Informations forums :
    Inscription : Juin 2003
    Messages : 5 756
    Billets dans le blog
    3
    Par d�faut

    La classe d'applciation est une classe singleton.
    AfxGetApp() te renvoie un CWinApp*, pas un CProgApp*, c'est pour �a que tu as une erreur.
    Tu peux downcaster:
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    CProgApp* MyGetApp()
    {
        return static_cast<CProgApp*>( AfxGetApp() );
    }
    mais si jamais un jour la classe CProgApp n'est plus utilis�e... Autant cr�er ta fonction AppContext(), qui masque l'endroit o� est stock�e ton contexte (dans la classe application, classe singleton � part...).
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    CTest* AppContext()
    {
        return &static_cast<CProgApp*>( AfxGetApp() )->test;
    }
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    CTest* AppContext()
    {
        return CTest::GetInstance();
    }
    Voir:
    http://c.developpez.com/faq/cpp/?pag...LASS_singleton

  5. #5
    Membre confirm�
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    82
    D�tails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2003
    Messages : 82
    Par d�faut
    merci , pour l'info

+ R�pondre � la discussion
Cette discussion est r�solue.

Discussions similaires

  1. binding d'une classe "global"
    Par Golzinne dans le forum Silverlight
    R�ponses: 6
    Dernier message: 13/09/2010, 10h06
  2. Connexion / Classe Globale
    Par Nelieru dans le forum G�n�ral Java
    R�ponses: 3
    Dernier message: 12/12/2009, 22h38
  3. [PHP 5.0] Classe globale en PHP
    Par keaton7 dans le forum Langage
    R�ponses: 5
    Dernier message: 09/02/2009, 12h56
  4. R�ponses: 4
    Dernier message: 11/10/2006, 10h56
  5. R�ponses: 4
    Dernier message: 24/04/2006, 20h39

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo