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 :

Incr�menter une variable par r�f�rence dans une m�thode


Sujet :

C++

Vue hybride

Message pr�c�dent Message pr�c�dent   Message suivant Message suivant
  1. #1
    Membre confirm�
    Inscrit en
    Mars 2007
    Messages
    163
    D�tails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 163
    Par d�faut Incr�menter une variable par r�f�rence dans une m�thode
    Bonjour,
    j'ai un petit soucis ce qui concerne d'apr�s que je croie c'est un probl�me de pointeur et j'arrive pas a le r�soudre

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
     
    int main() 
    {
    tableau a;      // tableau est une classe j'ai crée une instance 
     
    a.tab_prod = new tab_prod_fab[100];  // tab_prod est un vecteur qui contient une liste or de type tab_prod_fab
     
    for (int i=0;i<5;i++,a.tab_prod++)         //ici incrémentation ça marche a.tab_prod++ 
    {init_prod_fab(*a.tab_prod,i);
     affiche_prod_fab(*a.tab_prod);
    }
    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
     
    void init_prod_fab(tab_prod_fab &e,int cpt)
    {     // ici sa marche pas l'incrémentation de a.tab_prod qui est ici e de type tab_prod_fab++
    	string Nomprod[5]={"Machine à Laver","cuisiniére","cafétiére","frigo","frigo samsung"};
    	string durefabric[5]={"13","40","14","55","33"};
    	int EtatStock[5]={23,12,18,25,54};
    	int Quantitfab[5]={0,0,0,0,0};
     
     
    	strcpy(e.Nom_prod,Nomprod[cpt].c_str());
    	strcpy(e.dure_fabric,durefabric[cpt].c_str());
    	e.Etat_stok=EtatStock[cpt];
    	e.Quantit_fab=Quantitfab[cpt];
     
    }
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
     
    class tableau
    {
      public:
    	int i,j;
    	int t[20];
    	tab_prod_fab  *tab_prod;
    }
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    //voila ma structure
    struct tab_prod_fab
    {
        char Nom_prod[30];
        char dure_fabric[30];		// le nom du produit et durré de fabrication du produit 
        int Etat_stok;   			// nombre de produit en stock 
        int Quantit_fab;		      	//Quantité à fabriqué ce qu'il reste a fabriqué pour le client (quantité demandé état de stock)
    };
    le probl�me est que j'arrive pas a incr�ment� la variable de type tableau a.tab_prod++ dans la m�thode void init_prod_fab(tab_prod_fab &e,int cpt)


    Merci d'avance de votre attention

  2. #2
    Membre chevronn�
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    349
    D�tails du profil
    Informations personnelles :
    �ge : 44
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2005
    Messages : 349
    Par d�faut
    Si tu veux pouvoir incr�menter avec ++ sur les objets de ta classe, tu devrais surcharger l'op�rateur ++, sinon le compiltaeur ne sait pas ce que signifie "tab_prod_fab++".

    Et vu ton code, tu devrais jeter un coup d'oeil du c�t� de la stl (Standard Template Library) de C++.

  3. #3
    Membre �m�rite
    Avatar de Spout
    Profil pro
    Ing�nieur syst�mes et r�seaux
    Inscrit en
    F�vrier 2007
    Messages
    904
    D�tails du profil
    Informations personnelles :
    �ge : 40
    Localisation : France, Val d'Oise (�le de France)

    Informations professionnelles :
    Activit� : Ing�nieur syst�mes et r�seaux

    Informations forums :
    Inscription : F�vrier 2007
    Messages : 904
    Par d�faut
    Salut,

    Je ne suis pas s�r que l'incr�mentation que tu fais quand "�a fonctionne" rest celle que tu penses. En effet, l� o� tu dis que �a fonctionne, c'est ton pointeur que tu incr�mentes, pas l'objet.
    En d�r�f�ren�ant ton pointeur au moment o� tu le passes dans la fonction, tu perds cette possibilit� de faire une incr�mentation.

    Si c'est l'objet point� que tu veux incr�menter, alors effectivement tu dois d�finir explicitement l'op�rateur++ pour le type tab_prod_fab.

    Bon courage

Discussions similaires

  1. R�ponses: 10
    Dernier message: 11/01/2015, 23h57
  2. R�ponses: 1
    Dernier message: 26/12/2010, 21h20
  3. [PowerShell] Comment passer une string "par r�f�rence" dans une fonction ?
    Par Plageman dans le forum Scripts/Batch
    R�ponses: 7
    Dernier message: 11/11/2010, 15h01
  4. [Tableaux] passage d'une variable par r�f�rence
    Par grinder59 dans le forum Langage
    R�ponses: 7
    Dernier message: 14/05/2007, 17h52
  5. R�ponses: 3
    Dernier message: 06/09/2006, 09h06

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