enum color {red, green, blue};
// ----------- monstr класы -----------
class monstr{
// ------ Кластың жасырын өрістері:
int health, ammo;
color skin;
char *name;
public:
// ------ Конструкторлар:
monstr(int he = 100, int am = 10);
monstr(color sk);
monstr(char * nam);
monstr(monstr &M);
// ------
Деструктор:
~monstr() {delete [] name;}
// ------ Операциялар:
monstr& operator ++(){
++health; return *this;
}
monstr operator ++(int){
monstr M(*this); health++; return M;
}
operator int(){
return health;
}
bool operator >(monstr &M){
if( health > M.get_health()) return true;
return false;
}
const monstr& operator = (monstr &M){
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){
Достарыңызбен бөлісу: |