Tajriba ishi №6 Mavzu: Funktorlarning qoʼllanilishi. Standart algoritmlar va iteratorlar. Ishning maqsadi: C++ dasturlash tilida funktorlar va ularning qo’llanilishi, standart algoritmlar, iteratorlar bilan ishlash ko’nikmalarini shakllantirish.
Nazariy qism Funktorlarning qoʼllanilishi Funktorlar - bu funksiyalar kabi murojaat qilish (chaqirish) mumkin bo’lgan ixtiyoriy tipdagi obyektlardir. Ya’ni () amali qayta yuklangan obyektlardir.
Funktsiyani yaratish uchun avval sinf yaratiladi. Keyin tur va ism bo'yicha parametr bilan sinfga konstruktor yaratiladi. Buning ortidan sinf a'zosi ob'ektlarini konstruktorga oldindan e'lon qilingan parametr bilan quradigan initsializatorlar ro'yxati e’lon qilinadi. Keyin () operator yuklanadi. Nihoyat yaratilgan sinf yoki tuzilmaning xususiy ob'ektlari e'lon qilinadi:
Funktorga misol1: Juft sonlar yigindisi va toq sonlar yig'indisini aniqlash
#include #include using namespace std;
class summator : private vector {
public:
summator(const vector& ini){
for (auto x : ini)
this->push_back(x);
}
int operator()(bool hodisa) {
int sum = 0;
auto i = begin();
if (hodisa) i++;
while (i < end()) {
sum += *i++;
if (i == end()) break;
i++;
}
return sum;
}
};