Программалау оқулық Алматы, 012 Қазақстан Республикасы Білім жəне ғылым министрлігінің «Оқулық»



Pdf көрінісі
бет195/466
Дата20.07.2022
өлшемі3,66 Mb.
#37798
түріПрограмма
1   ...   191   192   193   194   195   196   197   198   ...   466
class Base{
 ...
public: void f(); 
};
class Derived : private Base{
 ...
public: Base::void f();
};
Қарапайым мұралау
Туынды кластың бір ғана ата-тегі (базасы) болса, мұндай мұралау түрі 
қарапайым мұралау деп аталады. Кластың əртүрлі əдістері үшін əртүрлі 
мұралау ережелері бар – мысалы, туынды класта конструкторлар жəне 
меншіктеу операциясы мұраланбайды, ал деструкторлар мұраланады. 
Кластардың мұралануын жəне мұндайда туындайтын қиындықтарды бір мы-
сал арқылы қарастырайық.


218
monstr
класынан туындайтын, кейбір кездерде пайдалы болып табыла-
тын ойлау қабілеті қосылған
 daemon
класын құрайық. Базалық класс осы-
дан бұрынғы бөлімдерде енгізілген кейбір əдістермен бірге сипатталған:
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){ 


Достарыңызбен бөлісу:
1   ...   191   192   193   194   195   196   197   198   ...   466




©emirsaba.org 2024
әкімшілігінің қараңыз

    Басты бет