I have a problem with my c++ project. I have 3 classes: - ProduitAccepter - PropositonDonVente - Produit
This is my ProduitAccepter.cpp :
#include "produitAccepter.h"
#include <iostream>
#include <map>
#include <iterator>
ProduitAccepter::ProduitAccepter()
{
}
ProduitAccepter::ProduitAccepter(std::map<PropositionDonVente, std::string> produitAcc)
{
m_produitAcc = produitAcc;
}
ProduitAccepter::~ProduitAccepter()
{
}
int ProduitAccepter::addElementMap(PropositionDonVente proposition, std::string nomGerant)
{
if (m_produitAcc.insert(std::pair<PropositionDonVente, std::string>(proposition, nomGerant)).second == true) {
return 1;
}
return 0;
}
void ProduitAccepter::afficheElement()
{
std::map<PropositionDonVente, std::string>::iterator it = m_produitAcc.begin();
while (it != m_produitAcc.end())
{
std::cout << it->first.getIdProposition() << " :: " << it->second << std::endl;
it++;
}
}
//Accesseur
int ProduitAccepter::getSizeMap() const
{
return m_produitAcc.size();
}
This is my ProduitAccepter.h :
#if !defined(__PRODUITACCEPTER__)
#define __PRODUITACCEPTER__
#include <string>
#include <time.h>
#include <map>
#include "produit.h"
#include "propositionDonVente.h"
class ProduitAccepter
{
public:
ProduitAccepter();
ProduitAccepter(std::map<PropositionDonVente, std::string> produitAcc);
~ProduitAccepter();
int addElementMap(PropositionDonVente proposition, std::string nomGerant);
void afficheElement();
//accesseur
int getSizeMap() const;
//mutateur
private:
std::map<PropositionDonVente, std::string> m_produitAcc;
};
#endif
This is my PropositionDonVente.cpp :
#include "propositionDonVente.h"
#include <iostream>
PropositionDonVente::PropositionDonVente()
{
}
PropositionDonVente::PropositionDonVente(time_t dateReception, std::string type, Produit produit, std::string nameDonateur, std::string tel, std::string addresse, std::string description, int idProposition, time_t dateRetrait) :
m_dateReception(dateReception), m_type(type), m_produit(produit), m_nameDonateur(nameDonateur), m_tel(tel), m_addresse(addresse), m_description(description),
m_idProposition(idProposition), m_dateRetrait(dateRetrait)
{
}
PropositionDonVente::~PropositionDonVente()
{
}
//Accesseur
time_t PropositionDonVente::getDateReception() const
{
return m_dateReception;
}
std::string PropositionDonVente::getType() const
{
return m_type;
}
Produit PropositionDonVente::getProduit() const
{
return m_produit;
}
std::string PropositionDonVente::getNameDonateur() const
{
return m_nameDonateur;
}
std::string PropositionDonVente::getTel() const
{
return m_tel;
}
std::string PropositionDonVente::getAddresse() const
{
return m_addresse;
}
std::string PropositionDonVente::getDescription() const
{
return m_description;
}
int PropositionDonVente::getIdProposition() const
{
return m_idProposition;
}
time_t PropositionDonVente::getDateRetrait() const
{
return m_dateRetrait;
}
//Mutateur
void PropositionDonVente::setDateReception(time_t dateReception)
{
m_dateReception = dateReception;
}
void PropositionDonVente::setType(std::string type) {
m_type = type;
}
void PropositionDonVente::setProduit(Produit produit) {
m_produit = produit;
}
void PropositionDonVente::setNameDonateur(std::string tel) {
m_tel = tel;
}
void PropositionDonVente::setAddresse(std::string addresse) {
m_addresse = addresse;
}
void PropositionDonVente::setDescription(std::string description) {
m_description = description;
}
void PropositionDonVente::setIdProposition(int idProposition) {
m_idProposition = idProposition;
}
void PropositionDonVente::setDateRetrait(time_t dateRetrait) {
m_dateRetrait = dateRetrait;
}
This is my PropositionDonVente.h :
#if !defined(__PROPOSITIONDONVENTE__)
#define __PROPOSITIONDONVENTE__
#include <string>
#include <time.h>
#include "produit.h"
class PropositionDonVente
{
public:
PropositionDonVente();
PropositionDonVente(time_t dateReception, std::string type, Produit produit, std::string nameDonateur, std::string tel, std::string addresse, std::string description, int idProposition, time_t dateRetrait);
~PropositionDonVente();
//accesseur
time_t getDateReception() const;
std::string getType() const;
Produit getProduit() const;
std::string getNameDonateur() const;
std::string getTel() const;
std::string getAddresse() const;
std::string getDescription() const;
int getIdProposition() const;
time_t getDateRetrait() const;
//mutateur
void setDateReception(time_t);
void setType(std::string);
void setProduit(Produit);
void setNameDonateur(std::string);
void setTel(std::string);
void setAddresse(std::string);
void setDescription(std::string);
void setIdProposition(int);
void setDateRetrait(time_t);
private:
time_t m_dateReception;
std::string m_type;
Produit m_produit;
std::string m_nameDonateur;
std::string m_tel;
std::string m_addresse;
std::string m_description;
int m_idProposition;
time_t m_dateRetrait;
};
#endif
This in my Main :
#include "produit.h"
#include "propositionDonVente.h"
#include "produitAccepter.h"
#include <iostream>
#include <map>
int main()
{
//Produit(int refProduit, std::string nameProduit, int idProprietaire, bool estAttribuer, bool produitValide, int prix, bool stocker, int idLieuStockageIfStocker, time_t dateDeDepotInStock);
Produit p1(1, "table", 1, false, false, 50, false, 0, 1 );
Produit p2(2, "chaise", 1, false, false, 25, false, 0, 1);
std::cout << p1.getRef() << std::endl;
std::cout << p1.getNameProduit() << std::endl;
//PropositionDonVente(time_t dateReception, std::string type, Produit produit, std::string nameDonateur, std::string tel, std::string addresse, std::string description, int idProposition, time_t dateRetrait);
PropositionDonVente pdv1(1, "table", p1, "moha", "0645789562", "21 avenue les fougère", "bonne etat et passe partout", 1, 1);
PropositionDonVente pdv2(1, "table", p2, "moha", "0654986325", "17 rue des herbes", "bonne etat et passe partout", 2, 1);
std::map<PropositionDonVente, std::string> maptest;
ProduitAccepter pa(maptest);
pa.addElementMap(pdv1, "alain");
pa.addElementMap(pdv2, "alain");
pa.afficheElement();
std::cout << pa.getSizeMap() << std::endl;
return 0;
}
In my function void ProduitAccepter::afficheElement() I heve this error (C2678)
'<' binary: no operator found which accepts a left part operand of type 'const _Ty' (or there is no acceptable conversion)
Can you help me please ?
Thank you in advance!
Aucun commentaire:
Enregistrer un commentaire