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



Pdf көрінісі
бет293/642
Дата30.03.2022
өлшемі3,66 Mb.
#29231
түріПрограмма
1   ...   289   290   291   292   293   294   295   296   ...   642
Байланысты:
pavlovskaia-jogargy-dengeili

operator жаңа_типтің_атауы ();

Қайтарылатын мəн типін жəне параметрді көрсетудің қажеті жоқ. Типтерді 

түрлендірудің виртуалды функцияларын анықтауға болады.

Мысал:


monstr::operator int(){return health;}

...

monstr Vasia; cout << int(Vasia);

Функцияны шақыру операциясының асыра жүктелуі

Функцияны шақыру операциясы анықталған класс функционалды деп ата-

лады. Мұндай кластан басқа өрістер мен əдістердің болуы талап етілмейді:

class if_greater{ 

   public:

      int operator () (int a, int b) const { 

         return a > b;

      }

};

Мұндай класты қолданудың синтаксисі ерекше болып келеді. Мысал 

қарастырайық:

if_greater x; cout << х(1, 5) << endl;  // Нəтижесі - 0

cout << if_greater()(5, 1) << endl;     // Нəтижесі – 1

Мысалдағы 



if_greater

 класында екі параметрі бар функцияны 

шақыру операциясы анықталғандықтан, 

х(1,5)

 өрнегін жазуға болады 

(дəл осыны 



Достарыңызбен бөлісу:
1   ...   289   290   291   292   293   294   295   296   ...   642




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

    Басты бет