C++ daki Function Template için farklı tiplerde kullanım esnekliği vardır.Bir fonksiyonu farklı farklı tipler için ayrı ayrı yazmak yerine,tek bir fonksiyon taslağı yazıp bunu farklı tipler için kullanabilirsiniz.
örneğin bir mutlak değer fonksiyonun int veri tipi için şu şekilde yazarız:
int mutlakdeger(int a){
if(a<0) return a;
else return -a;
}
double veri tipi için olanını şu şekilde yazarız:
double mutlakdeger(double a){
if(a<0) return a;
else return -a;
}
long olan için ;
long mutlakdeger(long a){
if(a<0) return a;
else return -a;
}
yani bütün tipler için ayrı ayrı yazardık.Bunu taslak şeklinde yazıp bütün veri tipleri için kullanabilmek istediğimiz zaman yapmamız gereken şey fonksiyonu template şeklinde tanımlamak.
Template kulllanımı şu şekilde:
template //fonksiyonun başına yazılması gereken
T mulakdeger (T a) //yukarda tanımladığımız template Tyi veri tipi olarak kullandık
{
}
int main(){
cout<<"int veri tipi için mutlak deger alma"<
cout<<"double veri tipi için mutlak deger alma"<
}
bu şekilde kullanarak her veri tipi için ayrı yazma gerekliliğinden kurtuluruz,kodlar kısalır fazla zaman harcamak zorunda kalmayız.
Template çeşitleri:
DERYA GÜNDÜZ
Template kulllanımı şu şekilde:
template
T mulakdeger (T a) //yukarda tanımladığımız template Tyi veri tipi olarak kullandık
{
if(a<0) return a;
else return -a;
}
int main(){
cout<<"int veri tipi için mutlak deger alma"<
cout<<"double veri tipi için mutlak deger alma"<
}
bu şekilde kullanarak her veri tipi için ayrı yazma gerekliliğinden kurtuluruz,kodlar kısalır fazla zaman harcamak zorunda kalmayız.
Template çeşitleri:
- template
//fonksiyonlar için kullanılır - template
//classı template şekilde kullanabilmek için,daha çok data storage classlarda(container) kullanılır - template
//birden fazla tip tanımlayabiliriz
Class Template:
templateler ayrıca classlar için de kullanılabilir,işlev olarak functşon template gibidir
template
class deneme{
// classın diğer elemanlarının prototypeları yazılır
...............
public int denemefonk(T ){}
...........
};
implementasyonlar:
template
deneme::denemefonk(T a){...........}
int main(){
denemenesne;
...........
}
şeklinde kullanılır............
DERYA GÜNDÜZ
1 yorum:
Cok tesekkür ederim, bir konu ancak bu kadar basit ve bu kadar anlasilabilir tarzda aciklanabilir..
Yorum Gönder