Partage
  • Partager sur Facebook
  • Partager sur Twitter

Problème cours C++ POO

    11 janvier 2019 à 14:11:26

    Bonjour,

    Je suis actuellement en train de suivre le cours sur C++ de matthieu schaller sur la partie POO pour être précis.
    Je suis dans la partie 1 j'ai du déclaré des méthodes (attaquer, recevoir dégats, etc...) Le soucis c'est que pour la partie:

    bool estVivant() j'ai une erreur qui apparait a la fin de l'accolade alors que selon le cours au moment de la compilation il est censé n'y avoir aucune erreur même si cela n'affiche rien. Voici cette erreur : Control reaches end of non-void function.
    Pouvez vous m'éclairer ? merci

    Le code :

    #include <iostream>
    #include <string> // Pour utiliser des attributs de type string.
    
    using namespace std;
    
    
    // En POO Une variable est appelé attribut et une fonction est appelé méthode.
    
    class Personnage // Voici comment on créer une classe en POO "class NomDeLaClass"
    {
        
        // METHODE
        public :
        
        
        void recevoirDegats(int nbDegats)
        {
            
        }
        
        void attaquer(Personnage &cible)
        {
            
        }
        
        void boirePotionDeVie(int quantitePotion)
        {
            
        }
        
        void changerArme(string nomNouvelleArme, int degatsNouvelleArme)
        {
            
        }
        
        bool estVivant()
        {
            
        }
        
        // ATTTRIBUTS
        private :
        
        
        int m_vie; // Beaucoup de programmeur font commencer leurs attributs de class (variable) par m_
        int m_mana;
        string m_nomArme;
        int m_degatsArme;
        
        
    }; // N'oubliez pas le point-virgule à la fin !
    
    int main() {
        
        Personnage david, goliath;
        //Création de 2 objets de type Personnage : david et goliath
        
        goliath.attaquer(david);    //goliath attaque david
        david.boirePotionDeVie(20); //david récupère 20 de vie en buvant une potion
        goliath.attaquer(david);    //goliath réattaque david
        david.attaquer(goliath);    //david contre-attaque... c'est assez clair non ?
        
        goliath.changerArme("Double hache tranchante vénéneuse de la mort", 40);
        goliath.attaquer(david);
    
        return 0;
    }
    



    • Partager sur Facebook
    • Partager sur Twitter
      11 janvier 2019 à 14:22:52

      L'erreur indique que tu ne retournes rien alors que ta méthode est censée retourner un booléen.

      Mais ce cours n'est pas un bon cours, il est complètement obsolète est truffé de bêtises. Mieux vaut suivre :

      - https://zestedesavoir.com/tutoriels/822/la-programmation-en-c-moderne/

      ou

      - http://guillaume.belz.free.fr/doku.php?id=programmez_avec_le_langage_c

      • Partager sur Facebook
      • Partager sur Twitter
        11 janvier 2019 à 14:34:12

        Ok merci pour m'avoir indiqué pourquoi cela me retournait cette erreur !

        Très bien je vais aller voir ces deux Tutos alors voir de quoi il retourne. Merci pour ta réponse rapide =)
        • Partager sur Facebook
        • Partager sur Twitter
          11 janvier 2019 à 14:50:12

          Autres remarques :

          • Partager sur Facebook
          • Partager sur Twitter

          Posez vos questions ou discutez informatique, sur le Discord NaN | Tuto : Preuve de programmes C

            14 janvier 2019 à 15:28:57

            AH yes ! Merci pour les tips ^^' 

            Décidemment ce cours... Je me passerais de commentaires xD

            • Partager sur Facebook
            • Partager sur Twitter

            Problème cours C++ POO

            × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
            × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
            • Editeur
            • Markdown