220
return *this;
}
// ------ Өрістердің мəндерін өзгертетін əдістер:
void think();
// ------
Басқа əдістер:
void draw(int x, int y, int scale, int position);
};
// -------- daemon класының жүзеге асырылуы: -------
void daemon::think(){ /* ... */ }
void daemon::draw(int x, int y, int scale, int position) {
/* ... daemon суреттелуі */ }
daemon
класына
brain
өрісі жəне
think
əдісі енгізілген, өзіндік кон-
структорлар мен меншіктеу операциясы анықталған, сонымен қатар
draw
сурет салу əдісі қайта анықталға.
monstr
класының барлық өрістері, опера-
циялары (меншіктеуден басқа) жəне
get_health
,
get_ammo
жəне
change_
health
əдістері
daemon
класына мұраланады, ал деструктор келісім бойынша
қалыптастырылады.
Əртүрлі əдістердің мұралану ережелерін қарастырайық.
Конструкторлар мұраланбайды, сондықтан туынды кластың өзіндік
конструкторлары болуы керек. Конструкторларды шақыру реттілігі төменде
көрсетілген ережелермен анықталады.
□ Егер туынды класс конструкторында базалық класс конструкторының
тікелей шақырылуы кездеспесе, онда автоматты түрде базалық кластың келісім
бойынша берілген конструкторы (яғни, параметрлерсіз шақыруға болатын
конструктор) шақырылады. Осы ереже
daemon
класы конструкторларының
біріншісінде қолданылған.
□ Бірнеше деңгейлерден тұратын иерархия үшін базалық класс конструк-
торлары ең жоғарғы деңгейден бастап шақырылады. Осыдан кейін объектілер
болып табылатын класс элементтерінің конструкторлары класта жариялану
тəртібіне сəйкес орындалады да, содан соң барып класс конструкторы орын-
далады.
□ Бірнеше базалық класс болған жағдайда, олардың конструкторлары жа-
риялану тəртібіне сəйкес шақырылады.
Достарыңызбен бөлісу: