Pelajaran modul (1/2)
Templat Fungsi
Templat memungkinkan penulisan kode umum dalam C++. Melalui templat, kita dapat mendefinisikan fungsi atau kelas yang beroperasi pada parameter tipe generik, sehingga kompiler dapat menghasilkan kode aktual untuk tipe spesifik yang diminta.
Mendefinisikan Templat Fungsi
Untuk mendefinisikan templat fungsi, kita mengawali definisi fungsi dengan kata kunci template, diikuti dengan daftar parameter tipe yang diapit tanda kurung sudut <>. Umumnya, typename atau class digunakan untuk mendeklarasikan tipe generik.
// T is the generic type parameter
template <typename T>
T add(T a, T b) {
return a + b;
}Panggilan Fungsi dan Pengurangan Argumen Templat
Saat kita memanggil fungsi tersebut, kita dapat secara eksplisit menentukan tipenya dalam tanda kurung sudut:
int res1 = add<int>(5, 10);
double res2 = add<double>(3.14, 2.71);Namun, kompiler C++ biasanya dapat menyimpulkan tipe secara otomatis dari parameter masukan yang diteruskan (Pengurangan Argumen Templat):
int res1 = add(5, 10); // The compiler deduces that T is intCobalah sendiri
Tentukan templat fungsi bernama myMax yang mengambil dua parameter tipe umum T dan mengembalikan yang lebih besar dari keduanya.
Tunjukkan petunjuk
Mulailah dengan menulis `template <typename T>` diikuti dengan tanda tangan `T myMax(T a, T b)`.
Solusi tersedia setelah 3 upaya
Tulis templat fungsi bernama printPair yang mengambil dua parameter tipe generik berbeda T1 dan T2 dan mencetak dua argumen yang dipisahkan oleh spasi menggunakan std::cout.
Tunjukkan petunjuk
Deklarasi template harus menentukan dua parameter: `template <typename T1, typename T2>`.
Solusi tersedia setelah 3 upaya