Объектга йўналтирилган программалаш


Download 0.58 Mb.
bet70/71
Sana08.05.2023
Hajmi0.58 Mb.
#1444224
TuriПрограмма
1   ...   63   64   65   66   67   68   69   70   71
Bog'liq
С ОЙП

{
// функция танаси
}
template калит сўзидан кейин бурчакли қавс ичида бир-биридан вергул билан ажратилган параметрлар рўйхати келади. Ҳар бир параметр - сlass калит сўзи ёки тур номи ва ундан кейин идентификатордан иборат бўлади. Айрим ҳолларда, берилганларнинг параметрлашган турини бериш учун class сўзи ўрнига typename калит сўзи ишлатилиши мумкин.
Эълондаги class ёки typename калит сўзидан кейинги қолип параметрларига параметрлашган турлар дейилади. Улар компиляторга қолипда параметр сифатида қандай берилганлар тури ишлатилаётганини билдиради. Тур номи ва идентификатордан иборат қолип параметри компиляторга қолип параметри кўрсатилган турдаги константа эканлигини билдиради.
Функция қолипини аниқлаш ва чақиришга мисол кўрайлик.
#include
template
T Kvadrat(T x)
{ return x*x; }
template
T* Almashtirish(T * t, int ind1, int ind2)
{
T Vaqtincha=t[ind1];
t[ind1]=t[ind2];
t[ind2]=Vaqtincha;
return t;
}
template
void Ekranga(T1 x, T2 y)
{ cout<
template
void Obect_Adresi(T * obj, unsigned int * pAdres)
{
*pAdres=(unsigned int) & obj[0]+siljish*sizeof(T);
}


int main()
{
int n=10, kv_n, i=1, j=3;
double d=10.21, kv_d;
char * satr="Qolip";
kv_n=Kvadrat(n);
kv_d=Kvadrat(d);
int Massiv[10];
unsigned int adres=0;
cout<<"n="<
Ekranga(n, d);
Ekranga(kv_n, kv_d);
Obect_Adresi(Massiv, &adres);
cout<<"Arr[5] element adresi = "

Download 0.58 Mb.

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




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