begin process at 2012 05 30 05:10:00
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C++ & C++ .NET

 > 

Divers

 > 

Général

 > 

variables globales et namespaces


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

variables globales et namespaces

jeudi 26 février 2009 à 10:36:04 | variables globales et namespaces

RV2931

Bonjour,

Je cherche une solution pour définir des variables globales dans des namespace. J'ai pensé à un truc qui serait assez génial mais je n'arrive pas à l'implémenter et du coup, je me demande si c'est possible.
mon architecture d'application est basée sur les namespace telle que :
fichier mypoject_applicationa_a.h
namespace MyProjet{
       namespace ApplicationA{
               class MyAppAWindow{
               };
                class MyAppAVarType{
                };
       }
}
fichier mypoject_applicationa_b.h
namespace MyProjet{
       namespace ApplicationB{
                class MyAppBWindows{
                };
                class MyAppBVarType{
                };
       }
}

L'idée serait de définir une classe statique dans le namespace "parent" MyProject telle que :
fichier mypoject_applicationa_global.h
#include mypoject_applicationa_a.h
#include mypoject_applicationa_b.h
namespace MyProjet{
       class Global{
               static ApplicationA::MyAppAVarType * varA;
               static ApplicationB::MyAppAVarType * varA;
       }
}

et de faire en sorte que toutes les classes qui ont besoin des variables globales héritent de cette classe, et puisse même dériver la class Global pour ajouter leur propre variables globales propres à leur namespace, telle que :
fichier mypoject_applicationa_a.h
#include mypoject_applicationa_global.h
namespace MyProjet{
       namespace ApplicationA{
               class MyAppAWindow: public MyProjet::Global{
               };
                class MyAppAVarType{
                };
       }
}
fichier mypoject_applicationa_b.h
#include mypoject_applicationa_global.h
namespace MyProjet{
       namespace ApplicationB{
                class Global: public MyProjet::Global{
                      static MyAppBVarType
myOwnGlobalVar;
                }
                class MyAppBWindows:public MyProjet::ApplicationB::Global{
                };
                class MyAppBVarType{
                };
       }
}

est-ce possible ? comment faire ???
J'ai pas mal d'erreurs  de namespace non déclarés, de variables dont le type n'est pas défini, ...
Je pense qu'il y a une méthode pour déclaré les namespaces et class avant d'inclure les fichiers qui en ont besoin puis ensuite les définir mais je trouve pas trop, je me perds....
Genre :

fichier mypoject_applicationa_global.h
namespace MyProjet{
       class Global;

}

#include mypoject_applicationa_a.h
#include mypoject_applicationa_b.h

namespace MyProjet{
       class Global{
               static ApplicationA::MyAppAVarType * varA;
               static ApplicationB::MyAppAVarType * varA;
       }
}

fichier mypoject_applicationa_b.h
namespace MyProjet{
       namespace ApplicationB{
             class MyAppBVarType;
       }
}

#include mypoject_applicationa_global.h

namespace MyProjet{
       namespace ApplicationB{
                class Global: public MyProjet::Global{
                      static MyAppBVarType
myOwnGlobalVar;
                }
                class MyAppBWindows:public MyProjet::ApplicationB::Global{
                };
                class MyAppBVarType{
                };
       }
}

Si quelqu'un peut me dire comment faire, ça serait super super cool
Ou me donner une méthode pour faire l'équivalent....
Great Thanks

RV

L'intelligence est la chose la mieux répartie chez l'homme, car quoi qu'il en soit pourvu, il a toujours l'impression d'en avoir assez. "Descartes"
jeudi 26 février 2009 à 13:13:11 | Re : variables globales et namespaces

RV2931

Ok, bon au final, mon code fonctionne plus ou moins.
il manquait juste l'initialisation des variables juste avant le main :
#include mypoject_applicationa_global.h
MyProjet::MyAppAVarType *varA=NULL;
MyProjet::MyAppBVarType *varB=NULL;

void main(){
}

Par contre, l'histoire de dériver toutes mes classes avec Global ne semble pas fonctionner.

il me met, "error: invlaid use of undefined type 'struct MyProjet::Global'" et "error: forward declaration of 'struc MyProjet::Global'"
Il le voit en tant que struct ??!!??
Comment faire fonctionner cela  en héritage multiple ??

Merci
L'intelligence est la chose la mieux répartie chez l'homme, car quoi qu'il en soit pourvu, il a toujours l'impression d'en avoir assez. "Descartes"


Cette discussion est classée dans : class, global, namespace, applicationa, mypoject


Répondre à ce message

Sujets en rapport avec ce message

Accès variable / Class [ par Guillaume ] Bonjour, je vous explique le contexte...J'ai 2 classes :class TMAC { public: void getVAR();}et :class TCX { public: int iA; TMAC ma Myth et Class [ par Xs ] salut !tous le monde a deja vu des programmes/installateurs warez des groupes warez Myth ou Class, non ?bon eh bien, je voudrais savoir comment ils fo class pour manipuler des grands nombres [ par Orkblutt ] Salut,j'aimerai implementer une classe qui me permettrai de manipuler (+,-, /,*,%) des grands nombres (Nb>32bits) mais je ne sais pas du tout comment pb de class [ par Xs ] salut !!je suis en train de faire un programme en relation avec mendeleiev.il se trouve que j'ai fait mon prog comme ceci (avec un squellette similair la class de progressbar marche comment ??? [ par Xs ] salut !!!je ne sais plus qui, mais quelqu'un a déposé une source pour la progress bar : comment s'en sert-on passke ca fait je sais pas combien de foi Probleme de compilation [ par draken ] Bonjour à tous ,mon but est de placer chaque classe dans chaque fichier --> utilisation separee des classes VOICI LE PROBLEME Les «class» pour débutant [ par cognac ] Voici un petit programme:|||||||||||||| constante.h||||||||||||#ifndef CONSTANTES#define CONSTANTES#include #include using namespace std;const int a=5 Pb Class et pointeur ... [ par payen ] salut a tous,j'ai un petit probleme en C++: j'ai definit une class CImage, avec entre autre, un pointeur vers une variable de type char (char *nom_ima petit pb de classe~~ [ par lerilcy ] Bijour a tous... J'ai declare une classe "CBloc" comme il faut (enfin je pense)class CBloc{...}et dans le code des procedures (bloc.cpp): le compilate Pb de class HELP [ par Sosh ] Je maîtrise pas encore bien le cpp mais les class c'est ce que j'ai trouver qui se rapproche le plus de ce que je veux faire. (avoir plusieurs variabl


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,608 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales