if (&M == this) return *this; if (name) delete [] name; if (M.name){ name = new char [strlen(M.name) + 1]; strcpy(name, M.name);} else name = 0; health = M.health; ammo = M.ammo; skin = M.skin; return *this; } // ------ Өрістерге қол жеткізу əдістері: int get_health() const {return health;} int get_ammo() const {return ammo;}
219
// ------ Өрістердің мəндерін өзгертетін əдістер: void change_health(int he){ health = he;} // ------ Басқа əдістер: void draw(int x, int y, int scale, int position); }; // ------- monstr класының жүзеге асырылуы ------- monstr::monstr(int he, int am): health (he), ammo (am), skin (red), name (0){} monstr::monstr(monstr &M){ if (M.name){ name = new char [strlen(M.name) + 1]; strcpy(name, M.name);} else name = 0; health = M.health; ammo = M.ammo; skin = M.skin; } monstr::monstr(color sk){ switch (sk){ case red: health = 100; ammo = 10; skin = red; name = 0; break; case green: health = 100; ammo = 20; skin =green; name = 0; break; case blue: health = 100; ammo = 40; skin = blue; name = 0; break; } } monstr::monstr(char * nam){ name = new char [strlen(nam)+1]; strcpy(name, nam); health = 100; ammo = 10; skin = red; } void monstr::draw(int x, int y, int scale, int position) { /* ... monstr суреттелуі */ } // ------------ daemon класы ------------ class daemon : public monstr{