52
()
Inkrement va dekrement amallarini qo’shimcha yuklash
C++ tilining zamonaviy versiyalarida prefiks ++ va -- operatsiyalarni
qo’shimcha yuklash boshqa operatsiyalarni yuklashdan farq qilmaydi, postfiks
shakldagi ++ va -- amallarini qayta yuklaganda yana bir int tipidagi parametr
kiritilishi kerak. Agar qo’shimcha yuklash uchun global funksiya ishlatilsa uning
birinchi parametri sinf tipiga, ikkkinchi parametri int tipiga ega bo’lishi kerak.
Dasturda postfiks ifoda ishlatilganda butun parametr xam qiymatga ega bo’ladi.
Quyida postfiks va prefiks ++ va – amallari uchun funksiya – amallarga misollar
keltirilgan.
Misol:
complex &complex::operator ++() // prefiks uchun komponenta
{ re ++; return *this;}
complex &complex::operator--(int k) // postfiks uchun komponenta
{ re--; return *this;}
complex &operator ++(complex& a) // prefiks uchun do’stona
{ a.re ++; return a;}
complex &operator ++(complex& a, int k) // postfiks uchun do’stona
{ a.re ++; return a;}
Indekslash va funksiyani chaqirish amallarini qo’shimcha yuklash
Dumaloq qavs () amalini qo’shimcha yuklash sinf obyektiga funksiya chaqirig’i
sintaksisini qo’llashga imkon beradi. Operandlar soni ixtiyoriy bo’lishi mumkin.
Kvadrat qavs massiv elementi sintaksisini qo’llashga imkon beradi.
//------ Simvolni ajratish amali -------------------
char string::operator()(int n)
{
if n
else return ‘\0’;}
//------ Ostki satrni ajratish amali -------------------