Witam,
muszę na jutro wykonać projekt na zaliczenie i niestety utknąłem w martwym punkcie, dlatego liczę na waszą pomoc. Potrzebuję przeciążyć operator przypisania wewnątrz klasy shop:
class shop
{
friend void findProduct(); //funkcja wyszukująca produkty
public:
shop();
~shop();
void shopMenu();
friend void dispMin();
friend void addToChain();
//operatory
shop & operator=(const shop *sklp);
friend ostream & operator<< (ostream &output, shop *&sklp);
friend istream &operator>> (istream &input, shop *sklp);
private:
int id;
string name;
address shopAddress;
hours o_hour;
int depNumber; //ilosc dzialow
bool closedByUser;
dzial **dep;
bool dni_tygodni[8];
};
Mój operator wygląda w ten sposób:
shop & shop::operator=(const shop *sklp)
{
//id = shops++;
name = sklp->name;
o_hour = sklp->o_hour;
dni_tygodni[8] = sklp->dni_tygodni;
cout<<"Przepisano!\n";
return *this;
}
Dodatkowo w programie mam zdefiniowaną dynamiczną tablicę wskaźników typu shop, czyli shop **sklep;
Każdorazowo przy próbie wywołania sklep = sklep[i+1] Odwołuję się do domyślnego operatora przypisania. W jaki sposób odwołać się do przeciążonego.
Mimo wszystko ten operator mi nie pasuje, chciałbym zrobić operator, który umożliwiłby mi operację sklep = 1 i w tym momencie do wartości closedByUser przypisywana byłaby wartość 1 i analogicznie dla warości 0. Jak taki operator stworzyć?