Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include "rabatek.h"
- Rabatek::Rabatek(int s, int w) : szerokosc(s), wysokosc(w)
- {
- tab = new Kwiatek**[szerokosc];
- for (int i=0; i<szerokosc; i++)
- {
- tab[i] = new Kwiatek*[wysokosc] {nullptr};
- }
- }
- Rabatek::Rabatek(const Rabatek& r) : szerokosc(r.szerokosc), wysokosc(r.wysokosc) {
- tab = new Kwiatek * *[szerokosc];
- for (int i = 0; i < szerokosc; i++) {
- tab[i] = new Kwiatek * [wysokosc];
- for (int j = 0; j < wysokosc; j++) {
- if (r.tab[i][j] != nullptr) {
- tab[i][j] = r.tab[i][j]->kopiuj();
- }
- else {
- tab[i][j] = nullptr;
- }
- }
- }
- }
- Rabatek& Rabatek::operator=(const Rabatek& r)
- {
- if (this == &r)
- {
- return *this;
- }
- for (int i=0; i<szerokosc; i++)
- {
- for (int j=0; j<wysokosc; j++)
- {
- delete tab[i][j];
- tab[i][j] = nullptr;
- }
- delete[] tab[i];
- }
- delete[] tab;
- szerokosc = r.szerokosc;
- wysokosc = r.wysokosc;
- tab = new Kwiatek**[szerokosc];
- for (int i=0; i<szerokosc; i++)
- {
- tab[i] = new Kwiatek*[wysokosc];
- for (int j=0; j<wysokosc; j++)
- {
- if (r.tab[i][j] == nullptr) {
- tab[i][j] = nullptr;
- }
- else {
- tab[i][j] = r.tab[i][j]->kopiuj();
- }
- }
- }
- return *this;
- }
- void Rabatek::posadz(int x, int y, Kwiatek* k)
- {
- if (x >= 0 && x<szerokosc && y >= 0 && y<wysokosc)
- {
- delete tab[x][y];
- tab[x][y] = k;
- }
- }
- ostream& operator<<(ostream &os, const Rabatek &r)
- {
- for (int i=0; i<r.szerokosc; i++)
- {
- for (int j=0; j<r.wysokosc; j++)
- {
- if(r.tab[i][j] != nullptr)
- {
- r.tab[i][j]->drukuj(os);
- }
- else
- {
- os << ". ";
- }
- }
- os << endl;
- }
- return os;
- }
- Rabatek::~Rabatek()
- {
- for (int i=0; i<szerokosc; i++)
- {
- for (int j=0; j<wysokosc; j++)
- {
- delete tab[i][j];
- }
- delete[] tab[i];
- }
- delete[] tab;
- }
Advertisement
Add Comment
Please, Sign In to add comment