Template adalah sebuah implementasi dari generic programming atau parameterized type. Generic programming adalah gaya pemrograman dimana algoritma ditulis dengan istilah ‘to be specified-later type’, maksudnya tipe datanya dapat dispesifikasi nanti dengan menggunakan parameter. Implementasi ini dapat dilakukan dengan 2 jenis template.
Jenis – jenis template:
1. Function template
Dengan menggunakan function template, dapat di definisikan sebuah bentuk fungsi yang berhubungan dengan overloasding function, dengan membiarkan tipe data parameter.
Contoh:
#include
using name space std;
template
T getmax(T a, T b) // function template
{
T result;
result = (a>b)?a:b;
return (result);
}
int main()
{
int i=5,j=6,k;
long l=10,m=5,n;
k= getmax
n = getmas
cout << k < cout << n << endl; return 0; } Pada saat template dijalankan, compiler mengenerate function yang sesuai dengan tipe data fungsi pemanggilnya. Berbeda dengan overloading function, overloading function tidak selalu dapat digantikan oleh template, karna jika kita memiliki action yang berbeda, maka tidak dapat digantikan oleh template, sebaliknya jika memiliki action yang sama, kita dapat mempersingkat program kita dengan menggunakan template. Template itu seperti bunglon, tetap bunglon namun dapat berubah warna sesuai kebutuhan. 2. Class template Disebut juga generic class atau class generator, digunakan untuk mendefinisikan model class. Generic container classes: - Kita dapat memiliki tipe data integer atau lainnya, dengan basic operation yang sama(insert, delete, index,etc) - Hanya dengan mendefinisikan struktur class dengan generic operation, dan system akan mengenerate definisi class on the fly. Contoh: #include Template Class mytemp //membuat class template { T1 t1; T2 t2; Public : mytemp(T1 t1,T2 t2) {t1 = tt1; t2 = tt2;} Void display {Cout << t1 << “” << t2 << endl;} }; Void main() { int a = 123; double b = 456.789; mytemp mt.display(); }

0 komentar:
Posting Komentar