Ерекше жағдай: алғашқы параметрі стандартты типте болатын функция-операция класс əдісі ретінде
206
Унарлы операциялардың асыра жүктелуі
Класс ішінде анықталатын унарлы функция-операция статикалық емес
əдістің көмегімен параметрсіз түрде берілуі керек, мұнда операнд ретінде оны
шақырған объект қабылданады, мысалы:
class monstr{
...
monstr & operator ++() {++health; return *this;}
}
monstr Vasia;
cout << (++Vasia).get_health();
Егер функция кластан тыс анықталатын болса, оның құрамында класс
типіндегі бір параметр болуы тиіс:
class monstr{
...
friend monstr & operator ++( monstr &M);
};
monstr& operator ++(monstr &M) {++M.health; return M;}
Егер класс ішіндегі функцияны достас ретінде сипаттамайтын болсақ,
өзгертілетін өрістердің қол жетімділігін ескеру керек. Берілген жағдайда
health
өрісіне сырттан қол жеткізуге болмайды, өйткені ол
Достарыңызбен бөлісу: