O‘zbekiston respublikasi oliy va o‘rta maxsus ta’lim vazirligi tоshkеnt dаvlаt iqtisоdiyot universitеti


Download 1.96 Mb.
Pdf ko'rish
bet52/83
Sana08.11.2023
Hajmi1.96 Mb.
#1757524
1   ...   48   49   50   51   52   53   54   55   ...   83
Bog'liq
Obyektga yo`naltirilgan dasturlash tillari

10.4. Funksiya uchun shablon turi 
Shablon sinflarini qo‘llanilishi shablon funksiyasini a’zosini ifodalaydi. 
Parametrlari shablon sinflarini ifodalovchi global shablon funksiyalar - algoritmlarini 
aniqlash mumkin. Masalan oddiy shablonni pufaksimon algoritm orqali tartiblashni 
shunday aniqlash mumkin. 
template void bubble_sort(Vector& v) 
{ unsigned n = v.size(); 
for (int i=0; ifor (int j=n-1; iif (v[j] < v[j-1])
{ // menyayem mestami v[j] i v[j-1] 
T temp = v[j]; 
v[j] = v[j-1]; 
v[j-1] = temp; 


Vector tipini qismiga tenglik funksiyasini berish mumkin emas, balki unga 
ikkinchi parametr sort() funksiyasini berish kerak. Bu parametr obyekt sinfini 
ifodalaydi, qaysiki tenglik operatsiyasini qayta aniqlashda. 
template 
void bubble_sort(Vector& v, Compare & cmp) 

unsigned n = v.size(); 


87 
for (int i = 0; ifor ( int j = n-1; iif (cmp.lessthan(v[j],v[j-1])) { 
T temp = v[j]; 
v[j] = v[j-1]; 
v[j-1] = temp; 


for_each() algoritm yordamida har xil ko‘rinishidagi qayta ishlashni va har bir 
elementni modifikatsiyasini ko‘rish mumkin.
Template 
void for_each(vector a, function op) 
{
for( int i=0; i
for_each() algoritmining qo‘llanishi: 
# include  
class StudentPrint 
{public: 
void operator() (Student elem){ if (elem.rating>5) elem.print();} 
}; 
main() 

vector coll(5);
coll.input(); 
StudentPrint cmp; 
for_each(coll, cmp); 
}


88 

Download 1.96 Mb.

Do'stlaringiz bilan baham:
1   ...   48   49   50   51   52   53   54   55   ...   83




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling