207
Бинарлы операциялардың асыра жүктелуі
Класс ішінде анықталатын бинарлы
функция-операция параметрлі ста-
тикалық емес əдістің көмегімен сипатталуы тиіс, мұнда оны шақырған объект
алғашқы операнд болып саналады:
class monstr{
...
bool operator >(const monstr &M){
if( health > M.health) return true;
return false;
}
};
Егер функция кластан тыс анықталса, оның құрамында класс типіндегі
екі параметр болу керек:
bool operator >(const monstr &M1, const monstr &M2){
if( Ml.get_health() > M2.get_health()) return true;
return false;
}
Меншіктеу операциясының асыра жүктелуі
Меншіктеу операциясы кез келген класта келісім бойынша жекелеген эле-
менттер бойынша көшіру ретінде анықталған. Бұрыннын бар бір объектіге басқа
объектінің мəнін меншіктеу кезінде əрқашанда осы операция шақырылады.
Егер класта компьютер жады динамикалық түрде бөлінетін өрістер бар бол-
са, онда өзіндік меншіктеу операциясын анықтау керек. Меншіктеу семан-
тикасын сақтау үшін объектіге арнайы шақырылған операция-функция осы
объектіге сілтеме қайтаруы керек жəне параметр ретінде жалғыз аргументті
– меншіктелетін объектіге сілтемені қабылдауы тиіс.
Достарыңызбен бөлісу: