Imam klasu Skladiste :
Skladište može da sadrži zadat broj predmeta do zadate ukupne zapremine i težine.
Predmeti se stavljaju pojedinačno na prvo slobodno mesto. Može da se izvadi prvi
predmet koji je jednak zadatom predmetu kao uzorku. Spisak sadržanih predmeta može
da se upiše u izlazni tok.
Nju sam "realizovao"(ali imam problem metodom(ili operatorskom funkcijom) koja treba da doda predmet na prvo slobodno mesto i metodom koja treba da izbaci predet koji je jednak zadatom predmetu):
Code:
#include "Predmet.h"
class Skladiste
{
double max_zapremina,max_tezina;
int max_broj_elemenata;
struct Elem
{
Predmet *p;
Elem *sledeci;
Elem(Predmet *predmet=0, Elem *sl=0)
{
p=predmet;
sledeci=sl;
}
~Elem(){delete p;}
};
public:
Elem *prvi,*poslednji;
Skladiste(int m_b_e,double m_z,double m_t)
{
max_broj_elemenata=m_b_e;
max_zapremina=m_z;
max_tezina=m_t;
prvi=poslednji=0;
}
//dodavanje predmeta na prvo slobodno mesto u sanduku!!!! PROBLEM ???
Skladiste& operator+=(const Predmet &p)
{
Elem *novi=new Elem(p.kopija());
Elem *tek=prvi;
if (!prvi) { prvi=novi; }
else
{
while(tek)
tek=tek->sledeci;
tek=novi;
}
return *this;
}
friend ostream& operator<<(ostream &it,const Skladiste &s)
{
Skladiste::Elem *tekuci=s.prvi;
while(tekuci)
{
it<<*tekuci->p<<endl;
tekuci=tekuci->sledeci;
}
return it;
}
};
#include "Predmet.h"
class Skladiste
{
double max_zapremina,max_tezina;
int max_broj_elemenata;
struct Elem
{
Predmet *p;
Elem *sledeci;
Elem(Predmet *predmet=0, Elem *sl=0)
{
p=predmet;
sledeci=sl;
}
~Elem(){delete p;}
};
public:
Elem *prvi,*poslednji;
Skladiste(int m_b_e,double m_z,double m_t)
{
max_broj_elemenata=m_b_e;
max_zapremina=m_z;
max_tezina=m_t;
prvi=poslednji=0;
}
//dodavanje predmeta na prvo slobodno mesto u sanduku!!!! PROBLEM ???
Skladiste& operator+=(const Predmet &p)
{
Elem *novi=new Elem(p.kopija());
Elem *tek=prvi;
if (!prvi) { prvi=novi; }
else
{
while(tek)
tek=tek->sledeci;
tek=novi;
}
return *this;
}
friend ostream& operator<<(ostream &it,const Skladiste &s)
{
Skladiste::Elem *tekuci=s.prvi;
while(tekuci)
{
it<<*tekuci->p<<endl;
tekuci=tekuci->sledeci;
}
return it;
}
};
[Ovu poruku je menjao Mihajlo Cvetanović dana 30.05.2013. u 14:43 GMT+1]