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

Langage C++ Discussion :

déclaration objet dans main() et dans fichier cpp


Sujet :

Langage C++

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Retraité passionné
    Inscrit en
    Mai 2021
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 78
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Retraité passionné
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Mai 2021
    Messages : 3
    Points : 1
    Points
    1
    Par défaut déclaration objet dans main() et dans fichier cpp
    Bonjour je voudrai placer mes fonctions dans des fichiers séparés (.h et .cpp). Où dois je déclarer un objet (par exemple LCD) utilisé dans main et fichier cpp. Doit on utiliser 2 objets distincts ? Help !!
    Ci joint un exemple de ce que je veux faire . Merci

    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
     
    //main.cpp
    #include <Arduino.h>
    #include <LiquidCrystal_I2C.h>
    #include <Spr.h>
     
    LiquidCrystal_I2C LCD(0x20,20,4);
     
    void setup() {
      LCD.begin();
    }
     
    void loop() {
      LCD.setCursor(0,0);
      LCD.print("Re-Bonjour");
     
      affichagelcd();
    }

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    //Spr.h
    #ifndef Spr_h
    #define Spr_h
     
    void affichagelcd();
     
    #endif
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    //Spr.cpp
    #include <Arduino.h>
    #include <Spr.h>
     
    void affichagelcd(){
      for (int i=0;i<4;i++){
      LCD.setCursor(i*2,i);
      LCD.print("Re-Bonjour");
      delay(1000);
      LCD.clear();
      }
    }

  2. #2
    Membre actif Avatar de Suryavarman
    Homme Profil pro
    Développeur 3D
    Inscrit en
    Mai 2006
    Messages
    233
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Développeur 3D
    Secteur : Tourisme - Loisirs

    Informations forums :
    Inscription : Mai 2006
    Messages : 233
    Points : 245
    Points
    245
    Par défaut
    Un petit exemple de class avec Spr. Je te laisse imaginer ta classe pour LCD.
    Note:Tu as oublié de fermer tes balises BBcode.

    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
     
    //main.cpp
    #include <Arduino.h>
    #include <LiquidCrystal_I2C.h>
    #include <Spr.h>
     
    LiquidCrystal_I2C LCD(0x20,20,4);
     
    void setup() {
      LCD.begin();
    }
     
    void loop() {
      LCD.setCursor(0,0);
      LCD.print("Re-Bonjour");
     
        Spr spr;
        spr.affichagelcd();
    }

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    //Spr.h
    #ifndef Spr_h
    #define Spr_h
     
    class Spr
    {
        public:
            void affichagelcd();
    };
     
    #endif
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    //Spr.cpp
    #include <Arduino.h>
    #include <Spr.h>
     
    void Spr::affichagelcd()
    {
      for (int i=0;i<4;i++){
      LCD.setCursor(i*2,i);
      LCD.print("Re-Bonjour");
      delay(1000);
      LCD.clear();
    }

  3. #3
    Nouveau Candidat au Club
    Homme Profil pro
    Retraité passionné
    Inscrit en
    Mai 2021
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 78
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Retraité passionné
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Mai 2021
    Messages : 3
    Points : 1
    Points
    1
    Par défaut
    Merci beaucoup ! Quelle rapidité !!

  4. #4
    Membre actif Avatar de Suryavarman
    Homme Profil pro
    Développeur 3D
    Inscrit en
    Mai 2006
    Messages
    233
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Développeur 3D
    Secteur : Tourisme - Loisirs

    Informations forums :
    Inscription : Mai 2006
    Messages : 233
    Points : 245
    Points
    245
    Par défaut
    Si tu peux prend le temps de lire la FAQ C++

    https://cpp.developpez.com/faq/cpp/
    https://cpp.developpez.com/faq/cpp/?...n-constructeur

    Tu as aussi cpp référence:
    https://en.cppreference.com/w/cpp/container/vector
    Les exemples utilisent un compilateur en ligne: Coliru.
    Clic sur «Run this code»
    Tu pourras jouer/bidouiller leurs exemples.
    Tu peux même partager des bouts de code.
    https://coliru.stacked-crooked.com/v...24c93fdf0b1159

  5. #5
    Rédacteur/Modérateur


    Homme Profil pro
    Network game programmer
    Inscrit en
    Juin 2010
    Messages
    7 128
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Canada

    Informations professionnelles :
    Activité : Network game programmer

    Informations forums :
    Inscription : Juin 2010
    Messages : 7 128
    Points : 33 053
    Points
    33 053
    Billets dans le blog
    4
    Par défaut
    Citation Envoyé par idef29 Voir le message
    Doit on utiliser 2 objets distincts ?
    Est-ce que t'es sencé utiliser le même objet ou non ?
    Si oui, pourquoi vouloir créer 2 objets ?
    LCD ça sonne comme l'écran... en as-tu plusieurs ?
    Citation Envoyé par idef29 Voir le message
    Où dois je déclarer un objet (par exemple LCD) utilisé dans main et fichier cpp.
    Ton LCD est une globale. Tu peux l'utiliser partout, et tu pourrais avoir un header qui la déclare extern pour être utilisé partout. Et si tu as plusieurs globales, tu peux les mettre dans un autre cpp où tu les regroupes toutes pour que ce soit plus clair.
    Ou alors tu la passes en paramètre quand tu en as besoin.

  6. #6
    Nouveau Candidat au Club
    Homme Profil pro
    Retraité passionné
    Inscrit en
    Mai 2021
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 78
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Retraité passionné
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Mai 2021
    Messages : 3
    Points : 1
    Points
    1
    Par défaut
    Merci à tous mais je vais revoir mes bases C++. Je travaille avec Arduino et depuis peu Visual code studio.
    Je reviendrai mais dans une rubrique débutant Merci encore

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

Discussions similaires

  1. [Débutant] Problème ajout objet dans fichier xml.
    Par Vidou12 dans le forum VB.NET
    Réponses: 3
    Dernier message: 13/02/2015, 12h36
  2. Réponses: 5
    Dernier message: 17/09/2014, 09h45
  3. Enregistrer objets dans fichier
    Par bgauvreau dans le forum Débuter
    Réponses: 2
    Dernier message: 01/11/2011, 12h28
  4. Stockage d'objets dans fichier texte
    Par Miko95 dans le forum C#
    Réponses: 4
    Dernier message: 22/04/2009, 17h56
  5. Access 2007 - ouverture objet dans fichier protégé
    Par Baillot Philippe dans le forum Access
    Réponses: 0
    Dernier message: 09/02/2008, 19h36

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