76 - DARS. SINFLAR VA SHABLONLAR.
Shablonli funktsiyalar va sinflar oilasini yaratishga imkon beradi.Shablalar sinfiy yoki parametrlangan tillar deb ham ataladi. Yuqorida ko’rsatilganidek funktsiyalar oilasi shabloni cheksiz ko’p o’zaro yaqin funktsiyalarni aniqlashga imkon beradi va qo’yidagiga ega bo’ladi:
templatef-ya tarifi.
Sinf ta'rifiga tushuvchi kam,butun bir sinflar oilasi nomi bulib hizmat qiladi.Shablon tarifi faqat global bo’lishi mumkin. Shablon kiritilgandan so’ng sinflar obe’ktlari qo’yidagicha ta'riflananadi; parametrlangan sinf nomi obe’kt-nomi(konstruktor parametrlari);
STT tili avtorlariga muvofiq vektorli sinfli ko’rib chiqamiz. Ventar elementlari qanday tipga tegishli bo’lmasin ular ustida bir hil amallar aniqlanishi mumkin. Kutbidagi shablon kerakli hossalarga ega bo’lgan ventorlar sinflarini avtomatik yaratishga imkon beradi.
||Template.vec
template
clarr vector
{T data;
int size;
public;
vector(int);
~Vector(){delete[]data;};
T&aperator[](int i){return data[i];}
};
templote
vector::Vector(int n)
{data=new t[n];
size=n;
};
Qo’yidagi dasturda shu shablan asosida konkret butun sonli va simvolli vektorlarni tushuntirib ko’rib chiqamiz:
# include “template.vec”
#include
main()
{Vectox(5);
Vectorx(5);
For(int I=0;i<5;I++)
{x[i]=I;c[i]=’A’+I;}
for(I=0;I<5;I++)
{x[i]=I;c[I]=’A’+I;}
for(I=0;I<5;I++)
cont<<” “<
}
Dostları ilə paylaş: |