11,1 Obyektga mo‘ljallangan yondashuv tarixi


template T max(Tx, Ty){return(x>y)? x:y;}



Download 221,05 Kb.
bet68/70
Sana26.02.2022
Hajmi221,05 Kb.
#466131
1   ...   62   63   64   65   66   67   68   69   70
Bog'liq
C

template T max(Tx, Ty){return(x>y)? x:y;}:
bunda < class T> shablonining argumenti tomonidan taqdim etilgan ma lumotlar turi har qanday boiishi mumkin. Undan dasturda foydala- nishda kompilator max funksiyasi kodini bu funksiyaga uzatilayotgan para- metrlarning faktik turiga muvofiq generatsiya qiladi.
Misol:
#include < iostream > using namespace std; template
T maximum(T x, T y)
{ '
if (x>v) return x; else return y;
};
int main()
{
int i=3;
float a=3.0, b=7.5;
i = maximum(i, 0);//argumentlar turi int cout <
float m = maximum(a, b);// argumentlar turi float cout «m «endl; return 0;
}
Natija:
3 '
7.5

Faktik turlar kompilatsiya paytida maium boiishlari kerak. Shablon- larsiz max funksiyasini ko'p martalab qo‘shimcha yuklashga to'g'ri kelar edi, ya'ni, garchi barcha funksiya versiyalarining kodlari bir xil bo‘lsa ham, har bir qo‘llanilayotgan tur uchun alohida ortiqcha yuklash kerak bo‘lar edi. C++ standarti bu maqsad uchun #define max(x, у) ((x>y)? x:v) mak- rosidan foydalanishni qat'iyan tavsiya etmaydi, chunki C + + tiliga oddiy С tili ustidan shunday afzalliklarni beradigan turlarni tekshirish mexanizmi blokirovka qilingan boiishi mumkin. Shu narsa ayonki, max(x, u) funk- siyasining vazifasi - bir-biriga mos turlarni qiyoslash. Afsuski, makrosni qollash bir-biriga mos kelmaydigan turlarning (masalan, int va struct) qiyoslanishiga yol qo‘vadi.
//ikkita o'zgaruvchining o'rnini o'zgartiradigan funksiya shabloni: template < class T>/7T - parametrlanayotgan tur nomi void change(T&x, T&y)
{ '
T z=x; x=y; v = z;
}
Bu funksiya quyidagicha chaqirilishi mumkin: long k= 10, i = 5; change(k, i);
Kompilator:
void change(long& x, long& y){long z = x; x=y; у = z;} ta'rifini ifodalab beradi.
Funksiyalar shablonlari parametrlarining asosiy xususiyatlari:

  1. Parametrlar nomlari shablonning butun ta'rifi bo‘ylab unikal bolmogi lozim.

  2. Shablon parametrlarining ro'yxati bo'sh boia olmaydi.

  3. Shablon parametrlari ro‘yxatida har biri class so‘zidan boshlana- digan bir nechta parametr boiishi mumkin.


Download 221,05 Kb.

Do'stlaringiz bilan baham:
1   ...   62   63   64   65   66   67   68   69   70




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

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish