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 :

classe et struct passage par valeur


Sujet :

C++

  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    412
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Décembre 2006
    Messages : 412
    Par défaut classe et struct passage par valeur
    Hello

    si j'ai bien une bête noir c'est les structures
    en ce qui concerne les structure et les classe j'ai compris que la seul difference c'est que les structure son publique.

    après j'essaye de passer ma structure par valeur ou meme par copie mai on dirait que le mots clef struc n'est pas reconnu dans les paramètre d'un fonction. struct=class

    bon sans les classes j'y parviens mai avec sa miaule.

    main
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    #include <string>
    #include <iostream>
    #include "lefichier.hpp"
     
    struct maStruc { int a;};
    int main()
    {
    maStruc mS;
    mS.a =1;
    test cT;
    cT.setStructure(mS);
    }
    le fichier h devrai resembler a
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    #include <string>
    #include <iostream>
     
    #ifndef DEF_TEST
    #define DEF_TEST
    class test {
          public:
                test();
               void setStructure(const struct & uneStructure);
    };
    #endif
    le cpp
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    #include <iostream>
    #include <string>
    test::test(){}
    void setStructure(const struct & uneStructure){
    uneStructure.a=2;
    }
    bon ici c'est du code fait pour l'exemple donc non tester. mai c'est histoire de comprendre ou sa coince ?

    Merci d'avance

  2. #2
    Rédacteur/Modérateur
    Avatar de JolyLoic
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    5 463
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Yvelines (Île de France)

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

    Informations forums :
    Inscription : Août 2004
    Messages : 5 463
    Par défaut
    Citation Envoyé par panthere noire Voir le message
    main
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    #include <string>
    #include <iostream>
    #include "lefichier.hpp"
     
    struct maStruc { int a;};
    Tu as défini un nouveau type de données, que tu as nommé maStruc.
    Citation Envoyé par panthere noire Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    #include <string>
    #include <iostream>
     
    #ifndef DEF_TEST
    #define DEF_TEST
    class test {
          public:
                test();
               void setStructure(const struct & uneStructure);
    };
    #endif
    Tu veux utiliser une variable de ce type, tu dois donc indiquer le type dans les arguments de ta fonction :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    void setStructure(const maStruc& uneStructure);
    Ma session aux Microsoft TechDays 2013 : Développer en natif avec C++11.
    Celle des Microsoft TechDays 2014 : Bonnes pratiques pour apprivoiser le C++11 avec Visual C++
    Et celle des Microsoft TechDays 2015 : Visual C++ 2015 : voyage à la découverte d'un nouveau monde
    Je donne des formations au C++ en entreprise, n'hésitez pas à me contacter.

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    412
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Décembre 2006
    Messages : 412
    Par défaut
    merci pour ta réponse sa a servir a mieux comprendre
    Et aaussi trouver le bug , tu sais celui que tu relis 50 fois que tu trouve pas.
    avec le compilateur qui te dit:

    cSql.cpp:37: error: declaration of ‘void cSql::setInsert(std::string, const sVal&)’ outside of class is not definition
    cSql.cpp:38: error: expected unqualified-id before ‘{’ token
    pour reprendre l'exemple plus bas l'erreur vien du copier coller

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    void setStructure(const maStruc& uneStructure); // la virgule qui vien du *.hpp
    {
    }
    forcement le regard s'arrète sur la parenthèse fermante..... je vai voir si je peux pas dans geany mettre un caractère en particulier en couleur

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

Discussions similaires

  1. Passage par valeur
    Par NairodDorian dans le forum Fortran
    Réponses: 3
    Dernier message: 22/04/2008, 17h00
  2. Réponses: 12
    Dernier message: 26/01/2008, 20h23
  3. [Débutant] Passage par valeur d'un objet Corba
    Par peaceinpal dans le forum CORBA
    Réponses: 1
    Dernier message: 29/05/2006, 20h15
  4. Passage par Valeur
    Par xc78370 dans le forum Langage
    Réponses: 8
    Dernier message: 20/03/2006, 23h21
  5. Passage par valeur / passage par adresse
    Par jeje99 dans le forum C++
    Réponses: 13
    Dernier message: 16/02/2006, 10h29

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