Shablonlar bilan ishlash




Download 2.11 Kb.
Sana11.01.2024
Hajmi2.11 Kb.
#134616
Bog'liq
Shablonlar bilan ishlash (1)
O’zbekiston respublikasi oliy va o’rta ta’lim vazirligi farg’ona-fayllar.org, 2 5253983912094350046, Sanlı izbe-izlik hám onıń beriliwi, 4 mavzu, Urganch davlat universiteti turizm va iqtisodiyot fakulteti turi, Дастурий таъминот тизимларини лойихалаш узб, Tabiiy fandan dars ishlanma 3-sinf (1), Odam tanasi, Dars ishlanma Keldiyeva Tursunoy, 1- ва 2-лаборатория ишлари, Raxmonov Akbarjon

Shablonlar bilan ishlash

Shablonlar bilan ishlash
Shablon C++ tilida oddiy, ammo juda kuchli vositadir. Oddiy g'oya ma'lumotlar turini parametr sifatida o'tkazishdir, shunda biz turli xil ma'lumotlar turlari uchun bir xil kodni yozishimiz shart emas. Misol uchun, dasturiy ta'minot kompaniyasi har xil ma'lumotlar turlari uchun sort() ni talab qilishi mumkin. Bir nechta kodlarni yozish va saqlash o'rniga biz bitta sort() yozishimiz va ma'lumotlar turini parametr sifatida o'tkazishimiz mumkin.
C++ shablonlarni qo'llab-quvvatlash uchun ikkita yangi kalit so'zni qo'shadi: "shablon" va "typename". Ikkinchi kalit so'z har doim "sinf" kalit so'zi bilan almashtirilishi mumkin.
Shablonlar qanday ishlaydi?
Shablonlar kompilyator vaqtida kengaytiriladi. Bu makrolarga o'xshaydi. Farqi shundaki, kompilyator shablonni kengaytirishdan oldin turini tekshiradi. G'oya oddiy, manba kodi faqat funksiya/sinfni o'z ichiga oladi, lekin tuzilgan kod bir xil funktsiya/sinfning bir nechta nusxasini o'z ichiga olishi mumkin.
Funktsiya shablonlari Biz turli xil ma'lumotlar turlari uchun ishlatilishi mumkin bo'lgan umumiy funktsiyani yozamiz. Funktsiya shablonlariga misollar sort(), max(), min(), printArray(). 

#include


using namespace std;
// One function works for all data types. This would work
// even for user defined types if operator '>' is overloaded
template T myMax(T x, T y)
{
return (x > y) ? x : y;
}
int main()
{
cout << myMax(3, 7) << endl; // Call myMax for int
cout << myMax(3.0, 7.0)
<< endl; // call myMax for double
cout << myMax('g', 'e')
<< endl; // call myMax for char
return 0;
}
Output
7
7
G
http://fayllar.org
Download 2.11 Kb.




Download 2.11 Kb.