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

C++ Discussion :

Membre à la fois private et static?


Sujet :

C++

  1. #1
    Membre actif Avatar de Jean_Benoit
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    499
    Détails du profil
    Informations personnelles :
    Âge : 70
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 499
    Points : 234
    Points
    234
    Par défaut Membre à la fois private et static?
    Bonjour,

    J'essaie de créer un objet composé d'un int private, muni d'une méthode qui retourne la valeur maximale passée en argument au cours d'appels successifs.
    Il serait logique de pouvoir déclarer l'int private en static, mais j'ai une erreur au link.
    Voilà où j'en suis:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
     
    class Un_int   { // ON ESSAIE DE VOIR  si on peut declarer private et static
    	int entier_private;
    public:
    	Un_int ( int initial_un_int );
    	~Un_int();
    	int affiche_un_int( void );
    	int retourne_le_max( int argum )
    	{
    		static int piege_de_krystel = 0;
    		if ( argum > piege_de_krystel )
    		{
    			piege_de_krystel = argum;
    		}
    		entier_private = piege_de_krystel;
    		return entier_private;
    	}
    };
    Il doit certainement exister un moyen d'améliorer le modèle
    Merci si vous avez une idée.

  2. #2
    Expert éminent sénior
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 381
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

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

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 381
    Points : 41 582
    Points
    41 582
    Par défaut
    Il PEUT être private et static, mais une variable static d'une classe doit être instanciée dans le .cpp qui contient les définitions de fonction de la classe:
    Code C++ : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    //////////////
    // Un_int.h //
    //////////////
    class Un_int
    { // ON ESSAIE DE VOIR  si on peut declarer private et static
    	static int entier_private;
    public:
    	Un_int( int initial_un_int );
    	~Un_int();
    	int affiche_un_int( void );
    	int retourne_le_max( int argum );
    };
    Code C++ : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    ////////////////
    // Un_int.cpp //
    ////////////////
     
    int Un_int::entier_private;
     
    Un_int::Un_int( int initial_un_int )
    {
    	//...
    }
     
    Un_int::~Un_int()
    {
    	//...
    }
    int Un_int::affiche_un_int( void )
    {
    	//...
    }
     
    int Un_int::retourne_le_max( int argum )
    {
    	static int piege_de_krystel = 0;
    	if( argum > piege_de_krystel )
    	{
    		piege_de_krystel = argum;
    	}
    	entier_private = piege_de_krystel;
    	return entier_private;
    }

  3. #3
    Membre actif Avatar de Jean_Benoit
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    499
    Détails du profil
    Informations personnelles :
    Âge : 70
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 499
    Points : 234
    Points
    234
    Par défaut
    Selon les propres mots de M V S C++ E 2005:
    1>max_objet - 0 erreur(s), 0 avertissement(s)
    ========== Génération*: 1 a réussi, 0 a échoué, 0 mis à jour, 0 a été ignoré ==========
    Je sens qu'on va passer un bon dimanche!

    Merci

  4. #4
    Expert éminent sénior
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 381
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

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

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 381
    Points : 41 582
    Points
    41 582
    Par défaut
    Ah, un conseil: Si tu comprends l'Anglais, prends la version English de Visual: La traduction française est foireuse.

  5. #5
    Membre actif Avatar de Jean_Benoit
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    499
    Détails du profil
    Informations personnelles :
    Âge : 70
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 499
    Points : 234
    Points
    234
    Par défaut
    J'aime bien jouer avec les mots, alors quand je vois:

    "Générer la Solution"
    "Régénérer la Solution"
    "Nettoyer la Solution"

    Je suis débile mais ça me met en joie pour la journée

    Dans un autre vie j'ai été traducteur pour MicroSoft, je vois exactement de qui ça vient....

    Bon je vais de ce pas swapper les zips

    Merci pour l'info.

  6. #6
    Expert éminent sénior
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 381
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

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

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 381
    Points : 41 582
    Points
    41 582
    Par défaut
    Le problème, c'est surtout que certains messages d'erreurs sont très mal traduits.
    J'ai été atterré quand j'ai vu ceux postés par certains forumeurs...

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. membres de classe private/protected (yet another try)
    Par T00N3 dans le forum Général Python
    Réponses: 21
    Dernier message: 25/08/2012, 00h49
  2. espace membre une fois un membre connecté
    Par hotman1313 dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 05/05/2012, 10h44
  3. méthode private et static
    Par womannosky dans le forum Langage
    Réponses: 4
    Dernier message: 23/06/2008, 11h16
  4. [Debutant] Problème avec des membres static
    Par Mathieu.J dans le forum Débuter
    Réponses: 4
    Dernier message: 24/08/2005, 17h09
  5. pointeur membre static de classe
    Par Ca$ul dans le forum C++
    Réponses: 3
    Dernier message: 26/08/2004, 13h02

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