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

Archive C/C++

 > 

Archives

 > 

Divers

 > 

Variable et méthodes statiques, comment faire ?


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

Variable et méthodes statiques, comment faire ?

dimanche 28 août 2005 à 11:59:05 | Variable et méthodes statiques, comment faire ?

neodelphi

Membre Club

Bonjour tout le monde !

Je suis actuellement de me lancer dans la réalisation d'un jeu utilisant directX. Pour avoir une base de temps en fonction de la rapidité de l'ordinateur sur lequel s'exécute le programme j'ai réalisé une classe CFps utilisant les méthodes QueryPerformanceFrequency et QueryPerformanceCounter pour déterminer le temps écoulé entre deux images.

Sa marche très bien. Le problème est que je voulai par la suite que cette base de temps soit accessible depuis n'importe quelle classe, et ne pas avoir à donner l'adresse d'une instance de CFps à chaque création de classe. Ayant déjà codé quelque chose de similaire en java je me suis dit que j'allai procéder de la même manière et allai mettre ma classe en static. J'ai donc d'abord essayé de mettre une seule variable statique:


class CFps
{
   private:
      LARGE_INTEGER ticksPerSecond;
      LARGE_INTEGER lastTicks;
      static float delta;
      float fps;
      float totalDelta;

      void displayFpsInfos();
   Public:
      void init();
      void refresh();
};



La méthode refresh modifi delta.
Ce genre de truc marchait en java, mais je n'ai jamais fait de static en c++. Actuellement j'ai un problème lors du linkage:
fps.obj : error LNK2001: unresolved external symbol "private: static float CFps::delta" ...

Merci pour votre aide

neodelphi

dimanche 28 août 2005 à 13:49:35 | Re : Variable et méthodes statiques, comment faire ?

steve_clamage

Réponse acceptée !
C'est comme une variable globale, il faut la définir (dans un .cpp) :

float CFps::delta = ... ;

Par rapport à Java, tu peux aussi utiliser un namespace. Renseignes toi aussi sur le design pattern "singleton", ca peut te convenir.

dimanche 28 août 2005 à 14:10:36 | Re : Variable et méthodes statiques, comment faire ?

neodelphi

Membre Club
Merci àa fonctionne en mettant également la déclaration dans le cpp, bien que je n'en voit pas l'intéret à part de faire fonctionner mon projet.
J'ai jetté un oeil sur le singleton desing patern, mais je préfère le faire en statique ce qui me permettra de faire CFps::getDelta à n'importe quel endroit du code.

neodelphi


Cette discussion est classée dans : variable, static, classe, float, cfps


Répondre à ce message

Sujets en rapport avec ce message

variable private et static dans une classe [ par simtiers ] Salut ! Voilà, j'aimerais savoir comment fait-on pour utiliser une variable statique dans une classe, et que cette variable soit dans le bloc private Surdéfinition statique (static) d'une variable membre [ par PetersonG ] Bonjour,Une drôle d'idée m'a fait surdéfinir en static une variable membre d'une classe parente, et, à ma grande surprise, le code compile sans problè classe abstraite et interface (au sens Java pas graphique :d ) en C++ [ par lulafitt ] Bonjour, Comme précisé dans le sujet quand je parle d'interface je ne parle pas d'interface graphique mais bien d'interface comme dans Java. Ceci dit convertisseur euro-yen-dollar [ par AndromedaNoBakura ] bonjour,j'essaye de faire un convertisseur de monnaies en C++ (visualC++6.0) mais il semble y avoir un probleme de definition de ma classe mere.j'ai u Accéder à une variable dans une focntion static de ma classe [ par aabhanane ] Bonjour à tous, je programme avec VC++ et j'ai une fonction définie comme suit: static BOOL CALLBACK DriverEnumProc(HACMDRIVERID hadid, DWORD dwInstan Question : Variables static/méthode static/initialisation [ par Inutqen ] Bonjour à tous, j'ai besoin d'un coup de main :) J'ai un petit soucis avec un code C++, je suppose que la réponse à ma question se trouve quelque par problème lecture variable de classe dans un singleton [ par totoscill ] Bonjour, Je rencontre un problème pour lire une variable statique de ma classe singleton "model". En effet dans cette classe, je declare: .h: public Variable globale [ par jul39dole ] Bonjour,J'ai un programme écrit en C++, avec classe et objet. Malgré tout, j'aurai besoin d'une variable globale : un tableau dynamique (type float*). variable privee et statique [ par Kangourou_Nomade ] Bonjour,Je voudrais utiliser une variable statique dans une classe ( un logger). cette variable est un mutex qui me permettraitde ne pas ecrire dans m Problème allocation mémoire de variable et utilisation par constructeur de classe [ par lectpe ] Bonjour à tous.Encore une fois, j'ai besoin d'aide, mais cette fois ci en C++.J'ai suis en-train de créer un programme qui servira pour le gameplay d'


Nos sponsors


Sondage...

Comparez les prix

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,250 sec (3)

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