Ziyaretçi
Templates nedir?Neye yarar?Acil lütfen!
Templates > Parametrik Çok Şekillilik
Parametrik Çok Şekililik Nedir?
Sınıflardaki fonksiyonların gövdeleri incelendiğinde, çoğu zaman
yapılan işlemler, üzerinde işlem yapılan verinin tipinden
bağımsızdır. Bu durumda fonksiyonun gövdesi, verinin tipi
cinsinden, parametrik olarak ifade edilebilir:
Örnek:
int abs(int n) {return (n<0) ? -n : n;}float abs(float n) {return (n<0) ? -n : n;}
Template'nin işleyişi
Gerçekte derleyici template ile verilmiş fonksiyon gövdesi için herhangi bir kod üretmez. Çünkü template ile bazı verilerin tipi parametrik olarak ifade edilmiştir. Verinin tipi ancak bu fonksiyona ilişkin bir çağrı olduğunda ortaya çıkacaktır.
Derleyici her farklı tip için yeni bir fonksiyon oluşturacaktır.
Template yeni fonksiyonun verinin tipine bağlı olarak nasıl oluşturulacağını tanımlamaktadır.
Sponsorlu Baglantilar
Sınıflardaki fonksiyonların gövdeleri incelendiğinde, çoğu zaman
yapılan işlemler, üzerinde işlem yapılan verinin tipinden
bağımsızdır. Bu durumda fonksiyonun gövdesi, verinin tipi
cinsinden, parametrik olarak ifade edilebilir:
Örnek:
int abs(int n) {return (n<0) ? -n : n;}float abs(float n) {return (n<0) ? -n : n;}
Template'nin işleyişi
Gerçekte derleyici template ile verilmiş fonksiyon gövdesi için herhangi bir kod üretmez. Çünkü template ile bazı verilerin tipi parametrik olarak ifade edilmiştir. Verinin tipi ancak bu fonksiyona ilişkin bir çağrı olduğunda ortaya çıkacaktır.
Derleyici her farklı tip için yeni bir fonksiyon oluşturacaktır.
Template yeni fonksiyonun verinin tipine bağlı olarak nasıl oluşturulacağını tanımlamaktadır.