rendered paste body#ifndef ZSAK_H
#define ZSAK_H
#include <list>
#include <iostream>
using namespace std;
enum Hibak {NemLetezoElem};
template<class ElemTipus>
class lista_elemei
{
ElemTipus elem;
int m;
lista_elemei(const ElemTipus &elem_) { m=1; elem=elem_; }
};
template<class ElemTipus>
class Zsak
{
public:
void add(ElemTipus &elem_, int m_=1);
void remove(ElemTipus &elem_);
int mul(ElemTipus &elem_);
istream& operator>> (istream &be, Zsak<ElemTipus> &zsak_);
ostream& operator<< (ostream &ki, Zsak<ElemTipus> &zsak_);
private:
list<lista_elemei<ElemTipus>> lista;
typedef typename list<lista_elemei<ElemTipus>>::iterator lista_iterator;
lista_iterator find(const ElemTipus &elem_);
friend:
Zsak<ElemTipus> unio(Zsak<ElemTipus> zsak1, Zsak<ElemTipus> zsak2);
};
#endif