Partage
  • Partager sur Facebook
  • Partager sur Twitter

Utilisation d'un tableau d'Objets en c++

    26 janvier 2019 à 17:16:48

    Bonjour a tous.

    Ca fait un petit moment que je bloque sur un exercice ou je dois faire appel a un tableau d'objets dans la declaration d'une classe

    //Recette.h
    #ifndef RECETTE_H
    #define RECETTE_H
    #include "ingredient.h"
    #include <string>
    #include <stdio.h>
    #include <stdlib.h>
    using namespace std;
    
    class recette
    {
        public:
    
        protected:
            string _nomRecette;
            string _categorie;
            int _difficulte;
            int n; ingredient[n]; //je bloque ici, [Error] 'ingredient' does not name a type
            string _description;
    };
    
    #endif
    
    
    
    //ingredient.h
    #ifndef INGREDIENT_H
    #define INGREDIENT_H
    #include <string>
    #include <stdio.h>
    #include <stdlib.h>
    using namespace std;
    class ingredient
    {
    	public:
    		ingredient(string,int,int);
    		string getIngredientNom();
    		int getIngredientPoids();
    		int getIngredientQuantite();
    		void setIngredientPoid(int poids);
    		void setIngredientNom(string nomIngredient);
    		void setIngredientQuantite(int quantite);
    		~ingredient();
    	protected:
    		string _nomIngredient;
    		int _poids;
    		int _quantite;
    };
    
    #endif



    • Partager sur Facebook
    • Partager sur Twitter
      26 janvier 2019 à 17:36:32

      Lu'!

      Utilise std::vector, c'est fait pour ça.

      std::vector<ingredient> les_ingredients ;

      Aussi :

      -
      Edité par Ksass`Peuk 26 janvier 2019 à 17:43:31

      • Partager sur Facebook
      • Partager sur Twitter

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

        26 janvier 2019 à 20:37:07

        j'ai fait avec vector et j'ai eu quelques soucis


        recette.h

        #ifndef RECETTE_H
        #define RECETTE_H
        #include "ingredient.h"
        #include <string>
        #include <iostream>
        #include <vector>
        
        class recette
        {
            public:
        		recette(std::string,std::string,int,vector<ingredient>,std::string);
        		
        		std::string getRecettetNom();
        		std::string getRecetteCategorie();
        		int getRecetteDifficulte();
        		vector<ingredient> getRecetteIngredient();
        		std::string getRecetteDescription();
        		
        		void setRecetteNom(string);
        		void setRecetteCategorie(string);
        		void setRecetteDifficulte(int);
        		void setRecetteIngredient(vector<ingredient>);
        		void setRecetteDescription(string);
        		
        		~recette();
            protected:
                std::string _nomRecette;
                std::string _categorie;
                int _difficulte;
                vector<ingredient> _ingredientsRecette ;
                std::string _description;
        };
        
        #endif


        recette.cpp

        #include "recette.h"
        #include <iostream>
        #include <string>
        #include <vector>
        
        recette::recette(std::string nomRecette, std::string categorie, int difficulte, vector<ingredient> ingredientRecette, std::string description){ //6 1 [Error] prototype for 'recette::recette(std::string, std::string, int, std::vector<ingredient>, std::string)' does not match any in class 'recette'
        	_nomRecette=nomRecette;
            _categorie=categorie;
            _difficulte=difficulte;
            _ingredientsRecette=ingredientRecette;
            _description=description;
        }
        • Partager sur Facebook
        • Partager sur Twitter
          26 janvier 2019 à 22:10:12

          Salut

          j'ai eu quelques soucis

          Lesquels ?

          vector fait partie de la bibliothèque standard du C++, il faut donc le précéder de std::.

          • Partager sur Facebook
          • Partager sur Twitter

          Utilisation d'un tableau d'Objets en c++

          × 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