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 :

Struct ou classe ?


Sujet :

C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre expérimenté
    Inscrit en
    Mai 2002
    Messages
    251
    Détails du profil
    Informations forums :
    Inscription : Mai 2002
    Messages : 251
    Par défaut Struct ou classe ?
    Bonjour,

    J'ai un petit problème. Je dois pinguer une liste d'équipement.
    J'ai donc, créé une structure comme ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    struct materiel {
          string adresse_ip ;
          string message ;
          };
    Je vais récupérer les données dans un fichier pour tout mettre dans un tableau.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    int affectation( ifstream & Fichier, materiel & matos, int LongeurTableau ) {
     
    //code      
     
    }
    et donc, dans mon main, je l'appelle avec :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    materiel equipement ;
    affectation ( Fichier , equipement , Retour_LongeurFichier ) ;

    Par contre, comme je dois travailler sur 10 ou 15 equipement. Je pensais pouvoir appeller le 1er élément d'un tableau comme ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    matos[0].adresse_ip = "127.0.0.1" ;
    Mais, bien entendu, celà ne fonctionne pas. Ca serait trop simple !

    Pouvez-vous m'aider ? struct, est-ce un bon choix ?

  2. #2
    Rédacteur
    Avatar de Laurent Gomila
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2003
    Messages
    10 651
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 10 651
    Par défaut
    Pouvez-vous m'aider ?
    Ben d'après ton code, matos n'est pas un tableau. Donc soit tu ne nous montres pas le bon code, soit tu tentes d'indexer un truc qui n'est pas un tableau.

    struct, est-ce un bon choix ?
    http://c.developpez.com/faq/cpp/?pag...e_class_struct

  3. #3
    Membre expérimenté
    Inscrit en
    Mai 2002
    Messages
    251
    Détails du profil
    Informations forums :
    Inscription : Mai 2002
    Messages : 251
    Par défaut
    C'est le bon code, mais je tente d'indexer un truc qui n'est pas un tableau.

    En fait, il me faut un 'objet?' qui soit de type materiel.
    Mais, dans le principe, il faut que je puisse en créer 15 de même type, puisque j'aurai 15 adresses IP à pinger.

    Je pensais passer par un tableau, mais il semble que je ne sache pas le créer.

    Et faire ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
        materiel equipement[Retour_LongeurFichier] ;
        affectation ( Fichier , equipement , Retour_LongeurFichier ) ;
    ne fonctionne pas non plus.

  4. #4
    Rédacteur
    Avatar de Laurent Gomila
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2003
    Messages
    10 651
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 10 651
    Par défaut
    Si la valeur de Retour_LongeurFichier n'est pas connue à la compilation il faut utiliser un tableau dynamique (voir std::vector, dans la FAQ par exemple).

  5. #5
    Membre expérimenté
    Inscrit en
    Mai 2002
    Messages
    251
    Détails du profil
    Informations forums :
    Inscription : Mai 2002
    Messages : 251
    Par défaut
    C'est bon, j'y suis arrivé avec quelques modifs :

    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
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
     
     
    class materiel {
          public :
          string adresse_ip ;
          string message ;
          };
     
     
    int affectation( ifstream & Fichier, materiel * matos , int LongeurTableau ) {
     
        matos[0].adresse_ip = "essai";
        cout << "Matos : " << matos[0].adresse_ip << endl;   
     
    }
     
     
    int main(int argc, char *argv[])
    {
     
       ...
     
        materiel equipement[Retour_LongeurFichier] ;
     
        affectation ( Fichier , equipement, Retour_LongeurFichier ) ;
     
        cout << "Equipement : " << equipement[0].adresse_ip << endl;
     
    }
    Merci.

  6. #6
    Rédacteur
    Avatar de Laurent Gomila
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2003
    Messages
    10 651
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 10 651
    Par défaut
    Pourquoi les gens n'écoutent jamais les bons conseils
    Citation Envoyé par Laurent Gomila
    voir std::vector, dans la FAQ par exemple

Discussions similaires

  1. Passer de struct (C) à class (JAVA)
    Par rtg57 dans le forum Langage
    Réponses: 8
    Dernier message: 01/05/2010, 22h50
  2. [Débutant] Struct v Class !
    Par F.Saad dans le forum C#
    Réponses: 3
    Dernier message: 27/07/2009, 12h21
  3. diff entre struct et class
    Par camboui dans le forum C++
    Réponses: 7
    Dernier message: 02/03/2009, 18h53
  4. Struct et classes
    Par oodini dans le forum C++
    Réponses: 3
    Dernier message: 14/08/2008, 18h03
  5. struct et class
    Par zais_ethael dans le forum C++
    Réponses: 17
    Dernier message: 11/03/2008, 19h17

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